Jenkins-Pipeline-Tutorial: So erstellen Sie eine Jenkins-Datei (Beispiel)
Was ist Jenkins Pipeline?
Jenkins-Pipeline ist eine Kombination aus Plugins, die die Integration und Implementierung von Continuous Delivery Pipelines unterstützt. Es verfügt über einen erweiterbaren Automatisierungsserver, um einfache und komplexe Delivery Pipelines als Code über Pipeline DSL zu erstellen. Eine Pipeline ist eine Gruppe von Ereignissen, die in einer Sequenz miteinander verknüpft sind.
Was sind Continuous-Delivery-Pipelines? Wie es funktioniert?
In einer Jenkins-Pipeline besteht für jeden Job oder jedes Ereignis eine Abhängigkeit von mindestens einem oder mehreren Ereignissen.
Das Bild oben zeigt eine Continuous-Delivery-Pipeline in Jenkins. Es enthält eine Gruppe von Zuständen namens „Build“, „Deploy“, „Test“ und „Release“. Diese Veranstaltungen sind miteinander verknüpft. Jeder Staat hat seine Ereignisse, die in einer Abfolge ablaufen, die als Continuous Delivery Pipeline bezeichnet wird.
Eine Continuous Delivery Pipeline ist ein automatisierter Ausdruck, der Ihren Prozess zur Bereitstellung von Software für die Versionskontrolle darstellt. Daher durchläuft jede Änderung an Ihrer Software auf dem Weg zur Veröffentlichung eine Reihe komplexer Prozesse. Dazu gehört auch die Entwicklung der Software auf zuverlässige und wiederholbare Weise und die Weiterentwicklung der erstellten Software durch mehrere Phasen der testing und Bereitstellung.
Was ist eine JenkinsFile?
Jenkins-Pipelines können mithilfe einer Textdatei namens definiert werden JenkinsFile. Sie können Pipeline mit JenkinsFile als Code implementieren und dies kann mithilfe einer domänenspezifischen Sprache (DSL) definiert werden. Mit JenkinsFile können Sie die Schritte schreiben, die zum Ausführen einer Jenkins-Pipeline erforderlich sind.
Die Vorteile der Verwendung JenkinsFile sind:
- Sie können Pipelines automatisch für alle Branches erstellen und Pull-Requests mit nur einem ausführen JenkinsFile.
- Sie können Ihren Jenkins-Code in der Pipeline überprüfen
- Sie können Ihre Jenkins-Pipeline prüfen
- Dies ist die einzige Quelle für Ihre Pipeline und kann von mehreren Benutzern geändert werden.
JenkinsFile kann entweder über die Web-Benutzeroberfläche oder mit einer Jenkins-Datei definiert werden.
Deklarative versus skriptbasierte Pipeline-Syntax:
Es gibt zwei Arten der Jenkins-Pipeline-Syntax, die zum Definieren Ihrer JenkinsFile verwendet werden.
- Deklarativ
- Skripted
Deklarativ:
Die deklarative Pipeline-Syntax bietet eine einfache Möglichkeit, Pipelines zu erstellen. Es enthält eine vordefinierte Hierarchie zum Erstellen von Jenkins-Pipelines. Es gibt Ihnen die Möglichkeit, alle Aspekte einer Pipeline-Ausführung auf einfache und unkomplizierte Weise zu steuern.
Geskriptet:
Die geskriptete Jenkins-Pipeline läuft mithilfe eines leichtgewichtigen Executors auf dem Jenkins-Master. Sie benötigt nur sehr wenige Ressourcen, um die Pipeline in atomare Befehle zu übersetzen. Sowohl die deklarative als auch die geskriptete Syntax unterscheiden sich voneinander und sind völlig unterschiedlich definiert.
Warum Jenkins Pipeline verwenden?
Jenkins ist ein offener Continuous-Integration-Server das die Fähigkeit besitzt, die Automatisierung von Softwareentwicklungsprozessen zu unterstützen. Mithilfe von Anwendungsfällen können Sie mehrere Automatisierungsjobs erstellen und diese als Jenkins-Pipeline ausführen.
Hier sind die Gründe, warum Sie die Jenkins-Pipeline verwenden sollten:
- Die Jenkins-Pipeline ist als Code implementiert, der es mehreren Benutzern ermöglicht, den Pipeline-Prozess zu bearbeiten und auszuführen.
- Pipelines sind robust. Wenn Ihr Server also einen unvorhergesehenen Neustart erfährt, wird die Pipeline automatisch wieder aufgenommen.
- Sie können den Pipeline-Prozess anhalten und mit der Fortsetzung warten lassen, bis eine Eingabe vom Benutzer erfolgt.
- Jenkins Pipelines unterstützen große Projekte. Sie können mehrere Jobs ausführen und sogar Pipelines in einer Schleife verwenden.
Jenkins-Pipeline Concepts
Bedingungen | Beschreibung |
---|---|
Pipeline | Die Pipeline ist ein Satz von Anweisungen, die in Form von Code für die kontinuierliche Bereitstellung bereitgestellt werden und aus Anweisungen bestehen, die für den gesamten Build-Prozess benötigt werden. Mit Pipeline können Sie die Anwendung erstellen, testen und bereitstellen. |
Knoten | Die Maschine, auf der Jenkins läuft, wird Knoten genannt. Ein Knotenblock wird hauptsächlich in der Skript-Pipeline-Syntax verwendet. |
Stufe | Ein Stufenblock enthält eine Reihe von Schritten in einer Pipeline. Das heißt, die Build-, Test- und Bereitstellungsprozesse laufen alle in einer Phase zusammen. Im Allgemeinen wird ein Stufenblock verwendet, um den Jenkins-Pipeline-Prozess zu visualisieren. |
Schritt | Ein Schritt ist nichts anderes als eine einzelne Aufgabe, die einen bestimmten Prozess zu einem definierten Zeitpunkt ausführt. Eine Pipeline umfasst eine Reihe von Schritten. |
Installieren Sie das Build Pipeline Plugin in Jenkins
Mit der Pipeline bauen Mit dem Plugin können Sie eine Pipeline-Ansicht eingehender und ausgehender Jobs erstellen und Trigger erstellen, die einen manuellen Eingriff erfordern.
Hier erfahren Sie, wie Sie das installieren können Pipeline bauen Plugin in Ihrem Jenkins:
Schritt 1) Die Einstellungen für das Plugin finden Sie unter,
Jenkins verwalten > Plugins verwalten.
Wenn Sie das Plugin bereits installiert haben, wird es unter der Registerkarte „Installiert“ angezeigt.
Schritt 2) Wenn Sie das Plugin noch nicht installiert haben,
es wird unter dem angezeigt Verfügbare Tab.
Sobald Sie die erfolgreich installiert haben Pipeline bauen Wenn Sie das Plugin in Ihrem Jenkins-Plugin verwenden, führen Sie die folgenden Schritte aus, um Ihre Jenkins-Pipeline zu erstellen:
So erstellen Sie eine Jenkins-Pipeline
Sobald Sie bei Ihrem Jenkins-Dashboard angemeldet sind:
Schritt 1) Klick auf das "+" Klicken Sie auf die Schaltfläche auf der linken Seite Ihres Jenkins-Dashboards, um eine Pipeline zu erstellen.
Schritt 2)
- Sie werden aufgefordert, der Pipeline-Ansicht einen Namen zu geben. Wir nennen es „Guru99-Pipeline” für die Dauer dieser Demo.
- Auswählen Erstellen Sie eine Pipeline-Ansicht für Optionen
- Klicke ok
Schritt 3) Auf der nächsten Seite werden Sie nach weiteren Details gefragt, um Ihre Jenkins-Pipeline zu konfigurieren. Akzeptieren Sie einfach die Standardeinstellungen und stellen Sie sicher, dass Sie unter den Einstellungen den ersten Job auswählen.
Klicken Sie auf Bewerben und dann OK.
Dadurch wird Ihnen die Beispiel-Pipelineansicht Ihres Artikels angezeigt, wie unten dargestellt:
Ausführen eines Pipeline-Builds
Schritt 1) Um einen Pipeline-Build auszuführen, müssen Sie zuerst Ihre Jobs verketten. Gehen Sie dazu zu Ihrem ersten Job und klicken Sie auf Konfigurieren.
Schritt 2) Nun, unter Trigger erstellen, Überprüf den Bauen Sie, nachdem andere Projekte gebaut wurden .
Somit ist eine Kette für alle Ihre Jobs entstanden.
Schritt 3) Installiere das Ansicht „Pipeline erstellen“. Plugin, falls Sie es noch nicht installiert haben.
Schritt 4) Gehen Sie zu Ihrem Jenkins-Dashboard und erstellen Sie eine Ansicht, indem Sie auf „+" Taste. Wähle aus Pipeline-Ansicht erstellen Option und klicken Sie auf OK.
Schritt 5) Unter Konfiguration der Pipeline-Ansicht, Lokalisieren Pipeline-Fluss.
Der Pipeline-Fluss, wählen Sie den ersten Job aus, der ausgeführt werden soll. Wählen Sie nun den Job aus, der Ketten zu anderen Jobs hat, wie in gezeigt Schritt 1 sowie Schritt 2.
Hier haben wir ausgewählt Guru99-Projekt 1 als erster Job, verkettet mit anderen Jobs. Die Jobs werden also nacheinander in der Pipeline ausgeführt.
Wenn die Jenkins-Pipeline ausgeführt wird, können Sie ihren Status mithilfe der roten und grünen Statussymbole überprüfen. Rot bedeutet, dass die Pipeline fehlgeschlagen ist, während Grün einen Erfolg anzeigt.
In diesem Jenkins-Pipeline-Beispiel sehen wir, dass die Schaltfläche grün ist. Daher ist die Pipeline erfolgreich.
Ausführen der Jenkins-Pipeline
Klicken Sie auf Führen Sie um die Jenkins-Pipeline auszuführen. Es wird ungefähr so aussehen:
Im obigen Beispiel für ein Jenkins-Pipeline-Skript demonstrieren wir ein einfaches „helloworld.java“-Programm. In Echtzeitprojekten sind Sie jedoch für die Erstellung und den Aufbau komplexer Pipelines in Jenkins verantwortlich. Unten finden Sie eine Beispielansicht einer Pipeline.
Best Practices bei der Verwendung von Jenkins Pipeline:
- Verwenden Sie die echte Jenkins-Pipeline
- Entwickeln Sie Ihre Pipeline als Code
- Alle Nicht-Setup-Arbeiten in Ihrer Pipeline sollten innerhalb eines Phasenblocks erfolgen.
- Alle wesentlichen Arbeiten in einer Pipeline müssen innerhalb eines Knotenblocks ausgeführt werden.
- Verwenden Sie keine Eingaben innerhalb eines Knotenblocks.
- Legen Sie niemals Umgebungsvariablen mit der globalen Variablen env fest
- Wickeln Sie Ihre Eingaben in eine Zeitüberschreitung ein