--- - name: Basis Setup für alle Zielsysteme hosts: web become: true gather_facts: true pre_tasks: - name: Überprüfe Serververbindung 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 post_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: [setup, folders] - name: Kopiere Docker-Konfigurationen synchronize: src: "{{ playbook_dir }}/docker/" dest: "{{ deploy_root }}/docker/" delete: yes tags: [setup, 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: [setup, docker] - name: Erstelle Test-HTML-Datei copy: dest: "{{ deploy_root }}/public/index.html" content: | Server Setup erfolgreich

Server-Setup erfolgreich!

Diese Seite bestätigt, dass die grundlegende Servereinrichtung abgeschlossen ist.

Als nächstes können Sie das Deployment ausführen mit:

./ansible/deploy.sh {{ environment | default('staging') }}
mode: '0644' owner: "{{ deploy_user }}" group: "{{ deploy_user }}" tags: [setup, test]