Dies ist eine unglaubliche Funktion, die es den CI/CD -Tools wie Jenkins ermöglicht, sich in Ansible zu integrieren, was Ihnen mehr Kontrolle und Automatisierung der Aufgaben bietet, die Sie ausführen.
Anforderungen
Um diesem Tutorial zu folgen, müssen Sie sicherstellen, dass Sie die folgenden Anforderungen haben:
Möglicherweise benötigen Sie auch ausreichende Berechtigungen, um die Befehle auf dem Agenten/Controller oder den Ansible -Knoten auszuführen.
Beispielprojektkonfiguration
Ansible Inventory Layout
Lassen Sie uns das Projekt -Setup aufschlüsseln. Für dieses Tutorial verfügen wir über einen Ubuntu -Server, auf dem der Apache -Webserver mithilfe von Ansible installiert wird.
Das Folgende zeigt das Layout unserer Ansible Host Inventory -Datei:
[Webserver]
172.29.42.58
Das vorherige Inventar enthält eine Webserver -Kategorie mit nur einem Host, der auf die IP -Adresse des Ubuntu -Servers verweist.
Ansible Playbook
Als nächstes ist das Ansible Playbook, das wir auf dem Server ausführen möchten. Wie bereits erwähnt, müssen wir den Apache -Webserver auf dem Ubuntu -Computer installieren.
Das entsprechende Spielbuch lautet wie folgt:
---
- Hosts: Alles
wahr werden
Aufgaben:
- Name: Paketmanager -Cache aktualisieren
geeignet:
update_cache: true
- Name: Installieren Sie den Apache -Webserver
geeignet:
Name: Apache2
Zustand: Gegenwart
- Name: Starten Sie Apache Web Server
Service:
Name: Apache2
Zustand: Begonnen
Das bereitgestellte Playbook beginnt mit der Aktualisierung des Paket -Manager -Cache auf dem Zielhost. Da wir nur einen Host in der Ansible -Inventardatei haben, können wir die Hosts auf alle einstellen, wie im vorherigen Spielbuch gezeigt.
Als nächstes installieren wir den Apache -Webserver über das Ansible APT -Modul. Schließlich starten wir den Webserver mit dem Service -Modul.
JenkinsFile -Skript
Die letzte Datei, die wir benötigen.
Das Folgende zeigt das Ziel JenkinsFile:
Pipeline
Agent Label 'Debian'
Stufen
Stage ('Run Ansible Playbook')
Schritte
sh 'Ansible -Playbook -i/etc/ansible/hosts -u ubuntu ~/playbooks/install -Apache.YML '
In diesem Fall verwendet die JenkinsFile den Agenten mit dem Label "Debian" . Anschließend ruft die JenkinsFile den Befehl Ansible-Playbook auf, um den Installations-Apache auszuführen.YML Playbook auf dem Zielhost.
Aufbau einer Jenkins -Pipeline
Sobald die Zieldateien und Tools fertig sind, können wir eine Beispiel -Jenkins -Pipeline einrichten.
Melden Sie sich in Ihren Jenkins -Controller an und erstellen Sie eine neue Jenkins -Pipeline.
Wählen Sie im Abschnitt Pipeline das "Pipeline -Skript" aus und fügen Sie die zuvor erstellte Jenkinsfile ein.
Klicken Sie auf "Speichern" und wählen Sie "Jetzt erstellen".
Sobald wir auf Build klicken, ruft Jenkins die Befehle auf und führt die Ansible -Aufgaben aus, die im Spielbuch definiert sind.
Abschluss
Sie haben festgestellt.