From 99e2a2daf05f6fd8da8ac0ad66bd4e65cc74136a Mon Sep 17 00:00:00 2001 From: Claude AI Date: Tue, 6 Jan 2026 14:42:59 +0000 Subject: [PATCH] feat(ansible): Add deployment playbook --- .../webserver-automation/playbooks/deploy.yml | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 ansible/webserver-automation/playbooks/deploy.yml diff --git a/ansible/webserver-automation/playbooks/deploy.yml b/ansible/webserver-automation/playbooks/deploy.yml new file mode 100644 index 0000000..3fd6a4d --- /dev/null +++ b/ansible/webserver-automation/playbooks/deploy.yml @@ -0,0 +1,83 @@ +--- +# Application deployment playbook +# Usage: ansible-playbook -i inventory/production playbooks/deploy.yml + +- name: Deploy application + hosts: webservers + become: true + serial: 1 + + vars: + app_version: "{{ app_version | default('latest') }}" + + tasks: + - name: Display deployment info + debug: + msg: | + Deploying {{ app_name }} version {{ app_version }} + To: {{ inventory_hostname }} + tags: ['always'] + + - name: Create application directory + file: + path: "{{ app_dir }}" + state: directory + owner: "{{ app_user }}" + group: "{{ app_group }}" + mode: '0755' + tags: ['setup'] + + - name: Deploy sample HTML + copy: + dest: "{{ app_dir }}/index.html" + content: | + + + + {{ app_name }} + + + +
+

🚀 {{ app_name }}

+

Version: {{ app_version }}

+

Server: {{ inventory_hostname }}

+

Environment: {{ environment }}

+
+ + + owner: "{{ app_user }}" + group: "{{ app_group }}" + mode: '0644' + tags: ['deploy'] + + - name: Restart Nginx + service: + name: nginx + state: restarted + tags: ['restart'] + + - name: Verify deployment + uri: + url: "http://{{ ansible_host }}" + status_code: 200 + delegate_to: localhost + become: false + tags: ['verify']