Automation Pipelines bietet ein Jenkins-Plug-In, das Jenkins-Aufträge auslöst, die Ihren Quellcode erstellen und testen. Das Jenkins-Plug-In führt Testfälle aus und kann benutzerdefinierte Skripts verwenden.
Um einen Jenkins-Auftrag in Ihrer Pipeline auszuführen, verwenden Sie einen Jenkins-Server und fügen den Jenkins-Endpoint in Automation Pipelines hinzu. Anschließend erstellen Sie eine Pipeline und fügen ihr eine Jenkins-Aufgabe hinzu.
Wenn Sie die Jenkins-Aufgabe und einen Jenkins-Endpoint in Automation Pipelines verwenden, können Sie eine Pipeline erstellen, die mehrzweigige Aufträge in Jenkins unterstützt. Der mehrzweigige Auftrag umfasst einzelne Aufträge in jedem Zweig eines Git-Repositorys. Wenn Sie in Automation Pipelines Pipelines erstellen, die mehrzweigige Aufträge unterstützen:
- Die Jenkins-Aufgabe kann Jenkins-Aufträge ausführen, die sich in mehreren Ordnern auf dem Jenkins-Server befinden.
- Sie können den Ordnerpfad in der Jenkins-Aufgabenkonfiguration überschreiben, sodass ein anderer Ordnerpfad verwendet wird, der den im Jenkins-Endpoint in Automation Pipelines definierten Standardpfad überschreibt.
- Mehrzweigige Pipelines in Automation Pipelines erkennen Jenkins-Auftragsdateien des Typs .groovy in einem Git- oder GitHub-Repository und beginnen mit dem Erstellen von Aufträgen für jeden Zweig, den sie im Repository überprüfen.
- Sie können den im Jenkins-Endpoint definierten Standardpfad mit einem in der Jenkins-Aufgabenkonfiguration bereitgestellten Pfad überschreiben und einen Auftrag und eine Pipeline ausführen, die mit einem beliebigen Zweig innerhalb eines Jenkins-Hauptauftrags verbunden sind.
Voraussetzungen
- Richten Sie einen Jenkins-Server ein, auf dem Version 1.561 oder höher ausgeführt wird.
- Vergewissern Sie sich, dass Sie Mitglied eines Projekts in Automation Pipelines sind. Falls Sie kein Mitglied sind, bitten Sie einen Automation Pipelines-Administrator, Sie als Mitglied eines Projekts hinzuzufügen. Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Hinzufügen eines Projekts in Automation Pipelines.
- Stellen Sie sicher, dass auf dem Jenkins-Server eine Aufgabe vorhanden ist, damit sie von Ihrer Pipeline-Aufgabe ausgeführt werden kann.
Prozedur
- Fügen Sie einen Jenkins-Endpoint hinzu und validieren Sie ihn.
- Klicken Sie auf .
- Wählen Sie ein Projekt aus und wählen Sie Jenkins als Endpoint-Typ aus. Geben Sie dann einen Namen und eine Beschreibung ein.
- Wenn dieser Endpoint eine geschäftskritische Komponente in Ihrer Infrastruktur ist, aktivieren Sie Als eingeschränkt kennzeichnen.
- Geben Sie die URL für den Jenkins-Server ein.
- Geben Sie den Benutzernamen und das Kennwort für die Anmeldung beim Jenkins-Server ein. Geben Sie dann die verbleibenden Informationen ein.
Tabelle 1.
Verbleibende Informationen für den Jenkins-Endpoint
Endpoint-Eintrag |
Beschreibung |
Ordnerpfad |
Pfad für den Ordner, in dem Ihre Aufträge gruppiert werden. Jenkins kann alle Aufträge im Ordner ausführen. Sie können Unterordner erstellen. Beispiel:
- folder_1 kann job_1 enthalten
- folder_1 kann folder_2 enthalten, der job_2 enthalten kann
Wenn Sie einen Endpoint für folder_1 erstellen, lautet der Ordnerpfad job/folder_1 und der Endpoint listet nur job_1 auf. Um die Liste der Aufträge im untergeordneten Ordner folder_2 zu erhalten, müssen Sie einen weiteren Endpoint erstellen, der den Ordnerpfad als /job/folder_1/job/folder_2/ verwendet. |
Ordnerpfad für mehrzweigige Jenkins-Aufträge |
Um mehrzweigige Jenkins-Aufträge zu unterstützen, geben Sie in der Jenkins-Aufgabe den vollständigen Pfad einschließlich der Jenkins-Server-URL und des vollständigen Auftragspfads an. Wenn Sie einen Ordnerpfad in die Jenkins-Aufgabe aufnehmen, überschreibt dieser Pfad den Pfad, der im Jenkins-Endpoint erscheint. Mit dem benutzerdefinierten Ordnerpfad in der Jenkins-Aufgabe zeigt Automation Pipelines nur Aufträge an, die in diesem Ordner vorhanden sind.
- Beispiel: https://server.yourcompany.com/job/project
- Wenn die Pipeline auch den Jenkins-Hauptauftrag auslösen muss, verwenden Sie: https://server.yourcompany.com/job/project/job/main
|
URL |
Die Host-URL des Jenkins-Servers Geben Sie die URL in der Form Protokoll://Host:Port ein. Beispiel: http://192.10.121.13:8080 |
Abrufintervall |
Intervalldauer für Automation Pipelines, um Updates vom Jenkins-Server abzurufen. |
Anzahl der Wiederholungen der Anforderung |
Anzahl der Wiederholungen der geplanten Build-Anforderung für den Jenkins-Server. |
Wartezeit für Wiederholungsversuche |
Anzahl der Sekunden, die gewartet werden muss, bevor die Build-Anforderung für den Jenkins-Server erneut ausgeführt wird. |
- Klicken Sie auf Validieren und stellen Sie sicher, dass der Endpoint mit Automation Pipelines verbunden ist. Wenn keine Verbindung hergestellt wird, korrigieren Sie alle Fehler und klicken Sie auf Speichern.
- Um Ihren Code zu erstellen, erstellen Sie eine Pipeline und fügen Sie eine Aufgabe hinzu, die Ihren Jenkins-Endpoint verwendet.
- Klicken Sie auf .
- Klicken Sie auf die Standardphase.
- Geben Sie im Aufgabenbereich einen Namen für die Aufgabe ein.
- Wählen Sie Jenkins als Aufgabentyp aus.
- Wählen Sie den von Ihnen erstellten Jenkins-Endpoint aus.
- Wählen Sie im Dropdown-Menü einen Auftrag aus dem Jenkins-Server aus, den Ihre Pipeline ausführen soll.
- Geben Sie die Parameter für den Auftrag ein.
- Geben Sie das Authentifizierungs-Token für den Jenkins-Auftrag ein.
- Aktivieren und führen Sie Ihre Pipeline aus und zeigen Sie die Pipeline-Ausführung an.
- Zeigen Sie die Ausführungsdetails und den Status im Pipeline-Dashboard an.
Sie können alle Fehler und deren Ursachen identifizieren. Sie können auch Trends über die Dauer der Pipelineausführung, Fertigstellungen und Ausfälle anzeigen.
Ergebnisse
Herzlichen Glückwunsch! Sie haben Automation Pipelines mit Jenkins integriert, indem Sie einen Endpoint hinzugefügt, eine Pipeline erstellt und eine Jenkins-Aufgabe konfiguriert haben, die Ihren Code erstellt.
Beispiel: Beispiel-YAML für eine Jenkins-Build-Aufgabe
Für den Typ der in diesem Beispiel verwendeten Jenkins-Build-Aufgabe ähnelt die YAML dem folgenden Code, wobei die Benachrichtigungen aktiviert sind:
test:
type: Jenkins
endpoints:
jenkinsServer: jenkins
input:
job: Add two numbers
parameters:
Num1: '23'
Num2: '23'
Nächste Maßnahme
Lesen Sie die anderen Abschnitte, um mehr zu erfahren. Weitere Informationen hierzu finden Sie unter Verbinden von Automation Pipelines mit Endpoints.