When your web devs come up with an update to an application and you need to deploy it to 100 servers (sometimes more) doing so manually is a difficult task. While there are many ways to automate this process Ansible can handle it in addition to everything else it does. This lab will walk through a method of doing so.
Successfully complete this lab by achieving the following learning objectives:
- Deploy `index.html`
Your playbook should look something like:
--- - name: copy webapp hosts: webservers become: yes tasks: - name: install webapp copy: src: /root/index.html dest: /var/www/html/index.html owner: apache group: apache mode: 0644
- Copy and Execute the `db deploy` (deploy.sh) Script
There are two different methods of doing this in a playbook.
The first is to use
script, but it is commented out. Both can be seen in this code snippet.
- name: copy db script hosts: dbservers become: yes tasks: - name: copy deploy script # script: /root/deploy.sh copy: src: /root/deploy.sh dest: /opt/deploy.sh owner: root group: root mode: 0755 - name: Execute the script command: sh /opt/deploy.sh
Run the playbook with this:
- Redeploy `index.html`
You should not include the
db deployin this playbook.
--- - name: copy webapp hosts: webservers become: yes tasks: - name: install webapp copy: src: /root/index2.html dest: /var/www/html/index.html owner: apache group: apache mode: 0644
Run the playbook again: