GitHub-Aktionen in Ansible

Github Aktionen In Ansible



Ansible ist ein beliebtes, kostenloses Open-Source-Automatisierungstool, mit dem wir DevOps-Aufgaben wie Konfigurationsverwaltung, App-Bereitstellung usw. automatisieren können.

Durch die Kombination von Ansible mit GitHub Actions können wir die Ausführung von Ansible-Playbooks immer dann automatisieren, wenn ein bestimmtes Ereignis in einem Repository auftritt, beispielsweise ein Push zum Hauptzweig.







In diesem Tutorial erfahren Sie, wie Sie eine GitHub-Aktion einrichten, um ein Ansible-Playbook auszuführen, das für die Automatisierung der Bereitstellung als Reaktion auf Codeänderungen hilfreich ist.



Voraussetzungen:

Bevor Sie fortfahren, stellen Sie sicher, dass Sie über Folgendes verfügen:



  • Ein GitHub-Konto
  • Ein vorhandenes GitHub-Repository
  • Grundkenntnisse der Ansible-Playbooks
  • Ein Zielcomputer, auf dem Ansible die Aufgaben ausführen kann. Stellen Sie sicher, dass Ansible von einem GitHub-Runner aus eine Verbindung zu diesen Maschinen herstellen kann.

Schritt 1: Richten Sie die Ansible-Umgebung ein

Erstellen und speichern Sie das Ansible-Playbook und alle zugehörigen Dateien im GitHub-Repository. Dazu sollten Dateien wie Rollenvorlagen, Variablen usw. gehören.





Ein Beispiel-Playbook sieht wie folgt aus:

---
- Name: Stellen Sie sicher, dass Nginx auf Webservern installiert ist
Hosts: Webserver
werden: ja
Aufgaben:
- Name: Apt-Cache aktualisieren
geeignet:
update_cache: ja

- Name: Nginx installieren
geeignet:
Name: Nginx
Zustand: vorhanden

Stellen Sie sicher, dass Sie über eine Inventardatei verfügen, in der die Zielmaschinen für Ansible angegeben sind.



Schritt 2: Richten Sie die Secrets im GitHub-Repository ein

Da das Playbook sensible Informationen wie SSH-Schlüssel oder Passwörter benötigt, bietet GitHub eine Möglichkeit, die Geheimnisse sicher zu speichern:

Navigieren Sie zu Ihrem GitHub-Repository.

Gehen Sie zu Einstellungen > Geheimnisse und Variablen -> Aktionen > Neues Repository-Geheimnis.

Schritt 3: Erstellen Sie den GitHub-Aktionsworkflow

Erstellen Sie im Repository ein Verzeichnis „.github/workflows“. Erstellen Sie in diesem Verzeichnis eine YAML-Datei für Ihren Workflow.

Fügen Sie den Workflow wie folgt hinzu:

Name: Ansible Playbook ausführen
An:
drücken:
Geäst:
- Meister
Arbeitsplätze:
einsetzen:
läuft weiter: ubuntu-latest
Schritte:
- Name: Checkout-Code
verwendet: actions/checkout@v2
- Name: SSH-Schlüssel einrichten
Lauf: |
echo „${{ Secrets.SSH_PRIVATE_KEY }}“ > private_key.pem
chmod 600 private_key.pem
- Name: Ansible Playbook ausführen
Lauf: |
Sudo apt-Update
sudo apt install -y ansible
ansible-playbook -i hosts.ini my-playbook.yml --private-key=private_key.pem --user=${{ Secrets.REMOTE_USER }}

Schritt 4: Lösen Sie den Workflow aus

Immer wenn Sie zum Master-Zweig pushen, führt GitHub diesen Workflow automatisch aus und führt somit das Playbook aus.

Abschluss

Das ist es für dieses hier. Wir haben erläutert, wie Sie ein Ansible-Playbook mithilfe der Github-Aktionen ausführen.