Ich habe eine grundlegende Bereitstellung Playbook, das über einige Apache-Konfigurationsdateien und Python-Dateien mit Ansible und für einige der Dateien den Zustand kopiert ist registriert, damit ich Apache neu laden kann, wenn die Dateien geändert werden.Ansible: Neustart Apache nur einmal, nicht mehrmals bei der Verwendung Service - Methode mit With_items Liste
Ich kann nicht herausfinden, wie Apache neu zu laden, also wenn Apache 4 der Dateien geändert wird, würde Apache nur einmal neu laden (derzeit wird es einmal pro geänderte Datei neu geladen).
Textbuch Ich verwende:
- name: Copy apache files
become: yes
become_method: sudo
copy: src=../files/index.html dest=/var/www/docs/index.html owner=root group=root mode=755
- name: Copy app variable file
become: yes
become_method: sudo
copy: src=../files/app_vars dest=/etc/app owner=root group=root mode=644
- name: Copy pyapp files
become: yes
become_method: sudo
copy: src=../files/pyapp.py dest=/var/www/pyapp/pyapp.py owner=flask group=flask mode=755
register: pyapp
- name: Copy wsgi files
become: yes
become_method: sudo
copy: src=../files/pyapp.wsgi dest=/var/www/pyapp/pyapp.wsgi owner=flask group=flask mode=755
register: wsgi
- name: Copy apache files
become: yes
become_method: sudo
copy: src=../files/pyapp.conf dest=/etc/httpd/conf.d/pyapp.conf owner=root group=root mode=644
register: pyapp_conf
- name: Copy apache files
become: yes
become_method: sudo
copy: src=../files/docs.conf dest=/etc/httpd/conf.d/docs.conf owner=root group=root mode=644
register: docs
- name: Reload Apache configs if pyapp or Apache - files are changed
become: yes
become_method: sudo
service: name=httpd state=reloaded
when: "{{ item }}"
with_items:
- pyapp.changed
- wsgi.changed
- pyapp_conf.changed
- docs.changed
[Handler: Laufende Operationen bei Änderung] (https://docs.ansible.com/ansible/playbooks_intro.html#handlers-running-operations-on-change) – techraf