chore: complete update
This commit is contained in:
92
x_ansible/playbooks/deploy.yml
Normal file
92
x_ansible/playbooks/deploy.yml
Normal file
@@ -0,0 +1,92 @@
|
||||
---
|
||||
- name: Deployment in jeweilige Umgebung
|
||||
hosts: web
|
||||
become: true
|
||||
gather_facts: true
|
||||
|
||||
vars:
|
||||
project_source: "{{ playbook_dir }}/../.."
|
||||
docker_compose_project_path: "{{ deploy_root }}"
|
||||
|
||||
pre_tasks:
|
||||
- name: Überprüfe Server-Verbindung
|
||||
ping:
|
||||
tags: [always, check]
|
||||
|
||||
- name: Zeige Server-Informationen
|
||||
debug:
|
||||
msg: "Verbunden mit {{ inventory_hostname }} ({{ ansible_host | default('IP unbekannt') }})"
|
||||
tags: [always, check]
|
||||
|
||||
roles:
|
||||
- common
|
||||
- docker
|
||||
- nginx
|
||||
|
||||
tasks:
|
||||
- name: Stelle sicher, dass Zielverzeichnisse existieren
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{ deploy_user }}"
|
||||
group: "{{ deploy_user }}"
|
||||
mode: '0755'
|
||||
loop:
|
||||
- "{{ deploy_root }}"
|
||||
- "{{ deploy_root }}/public"
|
||||
- "{{ deploy_root }}/ssl"
|
||||
- "{{ deploy_root }}/src"
|
||||
- "{{ deploy_root }}/docker"
|
||||
- "{{ deploy_root }}/docker/nginx"
|
||||
- "{{ deploy_root }}/docker/php"
|
||||
tags: [deploy, folders]
|
||||
|
||||
- name: Kopiere Docker-Konfigurationen
|
||||
copy:
|
||||
src: "{{ playbook_dir }}/../docker/"
|
||||
dest: "{{ deploy_root }}/docker/"
|
||||
mode: '0644'
|
||||
owner: "{{ deploy_user }}"
|
||||
group: "{{ deploy_user }}"
|
||||
tags: [deploy, docker]
|
||||
|
||||
- name: Kopiere docker-compose.yml
|
||||
copy:
|
||||
src: "{{ playbook_dir }}/../docker-compose.yml"
|
||||
dest: "{{ deploy_root }}/docker-compose.yml"
|
||||
mode: '0644'
|
||||
owner: "{{ deploy_user }}"
|
||||
group: "{{ deploy_user }}"
|
||||
tags: [deploy, docker]
|
||||
|
||||
- name: Container starten oder neustarten
|
||||
ansible.builtin.shell: |
|
||||
cd "{{ deploy_root }}" && \
|
||||
docker-compose -f docker-compose.yml -p michaelschiemer up -d --build
|
||||
tags: [deploy, docker]
|
||||
|
||||
post_tasks:
|
||||
- name: Überprüfe Anwendungsstatus
|
||||
uri:
|
||||
url: "http://{{ ansible_host }}/"
|
||||
return_content: no
|
||||
status_code: 200, 301, 302, 403, 404
|
||||
validate_certs: no
|
||||
timeout: 10
|
||||
register: app_status
|
||||
ignore_errors: yes
|
||||
delegate_to: localhost
|
||||
become: no
|
||||
tags: [check]
|
||||
|
||||
- name: Zeige Deployment-Ergebnis
|
||||
debug:
|
||||
msg: |
|
||||
Deployment abgeschlossen:
|
||||
- Server: {{ inventory_hostname }}
|
||||
- Umgebung: {{ environment | default('unbekannt') }}
|
||||
- Status: {% if app_status.status is defined and app_status.status == 200 %}Erfolgreich (HTTP 200){% else %}Überprüfung erforderlich{% endif %}
|
||||
|
||||
Anwendung sollte erreichbar sein unter: http://{{ ansible_host }}/
|
||||
tags: [check]
|
||||
|
||||
Reference in New Issue
Block a user