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.
*This course is not approved or sponsored by Red Hat.*
Learning Objectives
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:
ansible-playbook filedeploy.yml
- Redeploy `index.html`
You should not include the
db deploy
in 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:
ansible-playbook filedeploy.yml