Um eine CICD-Pipeline (Continuous Integration and Continuous Delivery) in Code Stream zu erstellen, können Sie manuell Phasen und Aufgaben hinzufügen. Um Ihren nativen CICD-Build zu planen, erfassen Sie die benötigten Informationen, erstellen dann eine Pipeline und fügen manuell Phasen und Aufgaben hinzu.

Sie müssen sowohl die Phase der kontinuierlichen Integration (CI) als auch die der kontinuierlichen Bereitstellung (CD) Ihrer Pipeline planen. Nachdem Sie Ihre Pipeline erstellt und ausgeführt haben, können Sie Trends über die Pipeline-Ausführungen hinweg überwachen.

Um die CI- und CD-Phasen Ihrer Pipeline zu planen, stellen Sie sicher, dass alle Anforderungen erfüllt sind, bevor Sie Ihre Pipeline erstellen.

Planen der externen und internen Anforderungen

Um eine Pipeline aus diesem Beispielplan zu erstellen, verwenden Sie einen Docker-Host, ein Git-Repository, Maven und mehrere Tools für die Nachbearbeitung von Builds.

Cloud-basierte oder lokale Remote-Endpoints und Repositorys, die benötigt werden:

  • Ein Git-Quellcode-Repository, in das die Entwickler Code einchecken. Code Stream übergibt den aktuellen Code an die Pipeline, wenn Entwickler Änderungen vornehmen.
  • Ein Docker-Endpoint für den Docker-Build-Host, der die Build-Befehle in einem Container ausführt.
  • Ein Kubernetes-Endpoint, damit Code Stream Ihr Image auf einem Kubernetes-Cluster bereitstellen kann.
  • Ein Builder-Image, das den Container erstellt, auf dem die Tests für die kontinuierliche Integration ausgeführt werden.
  • Ein Image-Registrierungs-Endpoint, damit der Docker-Build-Host das Builder-Image daraus abrufen kann.

Sie benötigen Zugriff auf ein Projekt. Ein Projekt, in dem Ihre gesamte Arbeit, einschließlich Ihrer Pipeline, Endpoints und Dashboards, gruppiert wird. Vergewissern Sie sich, dass Sie Mitglied eines Projekts in Code Stream sind. Falls nicht, 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.

Sie brauchen einen Git-Webhook, der es Code Stream ermöglicht, den Git-Auslöser zu verwenden, der Ihre Pipeline auslöst, wenn Entwickler Codeänderungen vornehmen. Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Verwenden des Git-Auslösers in Code Stream zum Ausführen einer Pipeline.

Vorgehensweise zum Erstellen der CICD-Pipeline und Konfigurieren des Arbeitsbereichs

Sie müssen die Pipeline erstellen und dann den Arbeitsbereich, die Pipeline-Eingabeparameter und die Aufgaben konfigurieren.

Um die Pipeline zu erstellen, klicken Sie auf Pipelines > Neue Pipeline > Leere Arbeitsfläche.

Erstellen einer Pipeline aus einer leeren Arbeitsfläche.

Geben Sie auf der Registerkarte „Arbeitsbereich“ die Informationen zur kontinuierlichen Integration ein:

  • Schließen Sie Ihren Docker-Build-Host ein.
  • Geben Sie die URL für Ihr Builder-Image ein.
  • Wählen Sie den Endpoint für die Image-Registrierung aus, damit die Pipeline das Image daraus abrufen kann. Der Container führt die CI-Aufgaben aus und stellt Ihr Image bereit. Wenn bei der Registrierung Anmeldedaten benötigt werden, müssen Sie zuerst den Image-Registrierungs-Endpoint erstellen und diesen dann an dieser Stelle auswählen, damit der Host das Image aus der Registrierung abrufen kann.
  • Fügen Sie die Artefakte hinzu, die zwischengespeichert werden müssen. Damit ein Build erfolgreich ausgeführt werden kann, werden Artefakte wie zum Beispiel Verzeichnisse als Abhängigkeiten heruntergeladen. Der Cache ist der Speicherort, an dem sich diese Artefakte befinden. Abhängige Artefakte können zum Beispiel das Verzeichnis .m2 für Maven und das Verzeichnis node_modules für Node.js enthalten. Diese Verzeichnisse werden zwischen den Pipeline-Ausführungen zwischengespeichert, um während der Builds Zeit zu sparen.

    Konfigurieren des Arbeitsbereichs in einer Pipeline.

Konfigurieren Sie auf der Registerkarte „Eingabe“ die Pipeline-Eingabeparameter.

  • Wenn in Ihrer Pipeline Eingabeparameter aus einem Git-, Gerrit- oder Docker-Auslöserereignis verwendet werden, wählen Sie den Auslösertyp für Auto-Injektionsparameter aus. Zu den Ereignissen kann die Änderung des Betreffs für Gerrit oder Git oder des Namens des Ereignisbesitzers für Docker zählen. Wenn in Ihrer Pipeline keine vom Ereignis übergebenen Eingabeparameter verwendet werden, behalten Sie für „Parameter automatisch einfügen“ Keine bei.
  • Um einen Wert und eine Beschreibung auf den Pipeline-Eingabeparameter anzuwenden, klicken Sie auf die drei vertikalen Punkte und dann auf Bearbeiten. Der eingegebene Wert wird als Eingabe für Aufgaben, Phasen oder Benachrichtigungen verwendet.
  • Um einen Pipeline-Eingabeparameter hinzuzufügen, klicken Sie auf Hinzufügen. Sie können beispielsweise approvers hinzufügen, um für jede Ausführung einen Standardwert anzuzeigen, der jedoch zur Laufzeit mit einer anderen genehmigenden Person überschrieben werden kann.
  • Um einen eingefügten Parameter hinzuzufügen oder zu entfernen, klicken Sie auf Eingefügten Parameter hinzufügen/entfernen. Sie können beispielsweise einen nicht verwendeten Parameter entfernen, damit die Ergebnisseite übersichtlicher ist und nur die verwendeten Eingabeparameter angezeigt werden.

    Konfigurieren der Registerkarte „Eingabe“ in einer CICD-Pipeline.

Konfigurieren Sie die Pipeline, um Ihren Code zu testen:

  • Fügen Sie eine CI-Aufgabe hinzu und testen Sie sie.
  • Schließen Sie die Schritte zum Ausführen von mvn test in Ihrem Code ein.
  • Führen Sie Tools für die Nachbearbeitung von Builds wie JUnit und JaCoCo, FindBugs und Checkstyle aus, um nach der Ausführung der Aufgabe Probleme zu erkennen.

    Konfigurieren einer Pipeline-Aufgabe zum Testen des Codes.

Konfigurieren Sie die Pipeline, um Ihren Code zu erstellen:

  • Fügen Sie eine CI-Aufgabe hinzu und testen Sie sie.
  • Schließen Sie die Schritte zum Ausführen von mvn clean install in Ihrem Code ein.
  • Schließen Sie den Speicherort und den JAR-Dateinamen ein, damit er Ihr Artefakt beibehält.

    Konfigurieren einer Pipeline Aufgabe zum Erstellen Ihres Codes.

Konfigurieren Sie die Pipeline, um Ihr Image auf Ihrem Docker-Host zu veröffentlichen:

  • Fügen Sie eine CI-Aufgabe hinzu und testen Sie sie.
  • Fügen Sie Schritte hinzu, die Ihr Image überschreiben, exportieren, erstellen und weitergeben.
  • Fügen Sie den Exportschlüssel von IMAGE für die nächste zu verwendende Aufgabe hinzu.

    Konfigurieren einer Pipeline Aufgabe zum Veröffentlichen Ihres Image auf Ihrem Docker-Host.

Nachdem Sie den Arbeitsbereich, die Eingabeparameter, die Testaufgaben und die Build-Aufgaben konfiguriert haben, speichern Sie die Pipeline.

Vorgehensweise zum Aktivieren und Ausführen Ihrer Pipeline

Nachdem Sie Ihre Pipeline mit Phasen und Aufgaben konfiguriert haben, können Sie die Pipeline speichern und aktivieren.

Warten Sie, bis die Pipeline ausgeführt und abgeschlossen ist, und vergewissern Sie sich dann, dass der Vorgang erfolgreich war. Wenn sie fehlgeschlagen ist, korrigieren Sie alle Fehler und führen Sie sie erneut aus.

Nach erfolgreicher Ausführung der Pipeline können Sie folgende Punkte bestätigen:

  • Untersuchen Sie die Pipeline-Ausführung und zeigen Sie die Ergebnisse der Aufgabenschritte an.
  • Suchen Sie im Arbeitsbereich der Pipeline-Ausführung nach den Details zu Ihrem Container und nach dem geklonten Git-Repository.
  • Prüfen Sie im Arbeitsbereich die Ergebnisse Ihrer Tools zur Nachbearbeitung und suchen Sie nach Fehlern, Codeabdeckung, Bugs und Formatierungsproblemen.
  • Bestätigen Sie, dass Ihr Artefakt beibehalten wurde. Stellen Sie auch sicher, dass das Image mit dem IMAGE-Namen und -Wert exportiert wurde.
  • Wechseln Sie zu Ihrem Docker-Repository und stellen Sie sicher, dass die Pipeline Ihren Container veröffentlicht hat.

Ein detailliertes Beispiel, das zeigt, wie der Code von Code Stream kontinuierlich integriert wird, finden Sie unter Vorgehensweise zur kontinuierlichen Integration von Code aus einem GitHub- oder GitLab-Repository in eine Pipeline in VMware Code Stream.