Türchen #8: Ansible: Pre- und Post Commit Hooks mit etckeeper


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

Zurück zu den Blogbeiträgen

Trainings und Workshops

Vom Kurs für Einsteiger bis hin zu Experten-Workshops mit Tiefgang können wir Euch mit technischen Trainings unterstützen. Darüber hinaus bieten wir auch Workshops mit Fokus auf Cloud-Strategie oder für die Vertriebsmannschaft an.

Mehr...