Code Stream 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 lokalen oder cloudbasierten Jenkins-Server und fügen den Jenkins-Endpoint in Code Stream 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 Code Stream 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 Code Stream 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 Code Stream definierten Standardpfad überschreibt.
  • Mehrzweigige Pipelines in Code Stream 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. Der Server kann lokal oder cloudbasiert sein.
  • Wenn Sie einen lokalen Jenkins-Server verwenden, vergewissern Sie sich, dass Sie auf VMware Cloud Assembly zugreifen können, wo Sie einen Cloud-Proxy hinzufügen können. Ein Beispiel finden Sie unter Einrichten von VMware Code Stream zum Modellieren des Freigabeprozesses.
  • Vergewissern Sie sich, dass Sie Mitglied eines Projekts in Code Stream sind. Falls Sie kein Mitglied sind, bitten Sie einen Code Stream-Administrator, Sie als Mitglied eines Projekts hinzuzufügen. Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Hinzufügen eines Projekts in VMware Code Stream.
  • Stellen Sie sicher, dass auf dem Jenkins-Server eine Aufgabe vorhanden ist, damit sie von Ihrer Pipeline-Aufgabe ausgeführt werden kann.

Prozedur

  1. Fügen Sie einen Jenkins-Endpoint hinzu und validieren Sie ihn.
    1. Klicken Sie auf Endpoints > Neuer Endpoint.
    2. Wählen Sie ein Projekt aus und wählen Sie Jenkins als Endpoint-Typ aus. Geben Sie dann einen Namen und eine Beschreibung ein.
    3. Wenn dieser Endpoint eine geschäftskritische Komponente in Ihrer Infrastruktur ist, aktivieren Sie Als eingeschränkt kennzeichnen.
    4. Wenn es sich um einen lokalen Endpoint handelt, wählen Sie einen Cloud-Proxy aus, der diesen mit Code Stream verbindet.
    5. Geben Sie die URL für den Jenkins-Server ein.
    6. 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 Code Stream 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 Code Stream, 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.
    7. Klicken Sie auf Validieren und stellen Sie sicher, dass der Endpoint mit Code Stream verbunden ist. Wenn keine Verbindung hergestellt wird, korrigieren Sie alle Fehler und klicken Sie auf Speichern.
      Der Jenkins-Endpoint, der Ihren Code erstellt und testet, benötigt die URL und verwendet einen bestimmten Cloud-Proxy, den Sie auswählen.
  2. Um Ihren Code zu erstellen, erstellen Sie eine Pipeline und fügen Sie eine Aufgabe hinzu, die Ihren Jenkins-Endpoint verwendet.
    1. Klicken Sie auf Pipelines > Neue Pipeline > Leere Arbeitsfläche.
    2. Klicken Sie auf die Standardphase.
    3. Geben Sie im Aufgabenbereich einen Namen für die Aufgabe ein.
    4. Wählen Sie Jenkins als Aufgabentyp aus.
    5. Wählen Sie den von Ihnen erstellten Jenkins-Endpoint aus.
    6. Wählen Sie im Dropdown-Menü einen Auftrag aus dem Jenkins-Server aus, den Ihre Pipeline ausführen soll.
    7. Geben Sie die Parameter für den Auftrag ein.
    Wenn Sie eine Jenkins-Aufgabe konfigurieren, die Ihren Jenkins-Endpoint verwendet, wählen Sie den Jenkins-Auftrag aus und fügen Sie Werte hinzu.
  3. Aktivieren und führen Sie Ihre Pipeline aus und zeigen Sie die Pipeline-Ausführung an.
    Die Pipeline-Ausführung für die Jenkins-Aufgabe zeigt die Jenkins-Auftragsdetails an, einschließlich der Auftrags-ID, der Auftrags-URL sowie der Schlüssel und Werte im Auftragsergebnis.
  4. 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.
    Das Pipeline-Dashboard zeigt Details zu den Pipeline-Ausführungen an, z. B. die Anzahl der Pipeline-Ausführungen und deren Dauer sowie den Status für jede Ausführung.

Ergebnisse

Herzlichen Glückwunsch! Sie haben Code Stream 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 VMware Code Stream mit Endpoints.