Installieren und verwenden Sie das Ansible Jenkins Plugin

Installieren und verwenden Sie das Ansible Jenkins Plugin
In diesem Tutorial wird untersucht, wie wir Ansible in unsere Jenkins -Pipelines mit dem Ansible -Plugin integrieren können. Dies ermöglicht es uns, die Ansible -Aufgaben als Bauschritt in unserer Jenkins -Pipeline auszuführen.

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:

  1. Ein Jenkins -Controller oder ein Agent mit installierten Ansible CLI.
  2. Der neueste Python -Dolmetscher, der auf dem Jenkins Controller/Agent installiert ist.
  3. Ansible -Inventar, das mit Ihren Zielmaschinen konfiguriert ist.

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.