Türchen #8: Ansible: Pre- und Post Commit Hooks mit etckeeper
Von Michael Krieg am 8. Dezember 2019
Ansible und etckeeper
Der Wunsch: wir möchten mittels Ansible durchgeführte Änderungen an unseren Linux Systemen nachvollziehen.
Warum also nicht in den bewährten Linux Werkzeugkasten greifen und Git
einsetzen?! Eine gute Idee! Hierzu müssen wir eigentlich nur git
und etckeeper
installieren.
(auch diese Aufgabe kann natürlich vorab von Ansible übernommen werden!)
Lange Rede …..
Hier unser Code-Beispiel, welches Ihr in Euer Ansible-Playbook
übernehmen könnt:
- hosts:
- all
pre_tasks:
- name: install etckeeper
package:
name: etckeeper
state: present
- name: etckeeper pre-commit
shell: etckeeper commit "pre-commit changes before Ansible runs" || echo "nothing to commit"
register: pre_result
changed_when: pre_result.stdout.find('nothing to commit') == -1
roles:
- foobar
- baz
post_tasks:
- name: etckeeper post-commit
shell: etckeeper commit "post-commit changes after Ansible run" || echo "nothing to commit"
register: post_result
changed_when: post_result.stdout.find('nothing to commit') == -1