Zum Erstellen einer CICD-Pipeline (Continuous Integration und Continuous Delivery) in Code Stream können Sie die intelligente Pipeline-Vorlage für CICD verwenden. Zum Planen Ihres nativen CICD-Builds sammeln Sie die Informationen, die Sie zum Ausfüllen der intelligenten Pipeline-Vorlage benötigen, bevor Sie sie zum Erstellen der Pipeline in diesem Beispielplan verwenden.

Nachdem Sie die Informationen in der intelligenten Pipeline-Vorlage eingegeben und gespeichert haben, erstellt die Vorlage eine Pipeline, die die Phasen und Aufgaben enthält. Außerdem wird angegeben, wo das Image basierend auf den ausgewählten Umgebungstypen (z. B. „Entwicklung“ oder „Produktion“) bereitgestellt werden soll. Die Pipeline veröffentlicht Ihr Docker-Image und führt die Aktionen durch, die zur Ausführung des Images erforderlich sind. Nachdem Ihre Pipeline ausgeführt wurde, können Sie Trends über die Pipeline-Ausführungen hinweg überwachen.

Zum Erstellen einer CICD-Pipeline müssen Sie sowohl die CI- (Continuous Integration, Kontinuierliche Integration) als auch die CD-Phase (Continuous Delivery, Kontinuierliche Bereitstellung) Ihrer Pipeline planen.

Wenn eine Pipeline ein Image aus dem Docker-Hub enthält, müssen Sie vor der Pipeline-Ausführung sicherstellen, dass cURL in das Image eingebettet wurde. Wenn die Pipeline ausgeführt wird, lädt vRealize Automation Code Stream eine Binärdatei herunter, die cURL zum Ausführen von Befehlen verwendet.

Planen der CI-Phase

Zum Planen der CI-Phase Ihrer Pipeline richten Sie die externen und internen Anforderungen ein und bestimmen die Informationen, die in den CI-Abschnitt der intelligenten Pipeline-Vorlage eingegeben werden. Zusammenfassung.

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 Git-Endpoint für das Repository, in dem sich der Quellcode der Entwickler befindet.
  • 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.

Ihre Build-Toolsets:

  • Ihr Build-Typ, z. B. Maven.
  • Alle von Ihnen verwendeten Tools für die Nachbearbeitung von Builds, einschließlich JUnit, JaCoCo, Checkstyle und FindBugs.

Ihr Veröffentlichungstool:

  • Ein Tool, wie z. B. Docker, das den Build-Container bereitstellt.
  • Ein Image-Tag, bei dem es sich entweder um die Commit-ID oder die Build-Nummer handelt.

Ihr Build-Arbeitsbereich:

  • Ein Docker-Build-Host, der den Docker-Endpoint darstellt.
  • Eine Image-Registrierung. Der CI-Abschnitt der Pipeline ruft das Image aus dem ausgewählten Registrierungs-Endpoint ab. Der Container führt die CI-Aufgaben aus und stellt das Image bereit. Wenn bei der Registrierung Anmeldedaten benötigt werden, müssen Sie zuerst einen Image-Registrierungs-Endpoint erstellen und diesen dann hier auswählen, damit der Host das Image aus der Registrierung abrufen kann.
  • URL für das Builder-Image, das den Container erstellt, auf dem die Aufgaben für die kontinuierliche Integration ausgeführt werden.

Planen der CD-Phase

Zum Planen der CD-Phase Ihrer Pipeline richten Sie die externen und internen Anforderungen ein und bestimmen die Informationen, die in den CD-Abschnitt der intelligenten Pipeline-Vorlage eingegeben werden.

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

  • Ein Kubernetes-Endpoint, damit Code Stream Ihr Image auf einem Kubernetes-Cluster bereitstellen kann.

Umgebungstypen und Dateien:

  • Alle Umgebungstypen, in denen Code Stream Ihre Anwendung bereitstellt, z. B. „Entwicklung“ und „Produktion“. Die intelligente Pipeline-Vorlage erstellt die Phasen und Aufgaben in Ihrer Pipeline basierend auf den ausgewählten Umgebungstypen.
    Tabelle 1. Von der intelligenten Pipeline-Vorlage für CICD erstellte Pipeline-Phasen
    Pipeline-Inhalt Funktionsweise
    Build-/Veröffentlichungsphase Erstellt und testet Ihren Code, erstellt das Builder-Image und veröffentlicht das Image auf Ihrem Docker-Host.
    Entwicklungsphase Verwendet einen Amazon Web Services-Entwicklungscluster (AWS), um das Image zu erstellen und bereitzustellen. In dieser Phase können Sie einen Namespace auf dem Cluster sowie einen geheimen Schlüssel erstellen.
    Produktionsphase Verwendet eine Produktionsversion der VMware Tanzu Kubernetes Grid Integrated Edition (zuvor als VMware Enterprise PKS bezeichnet), um das Image in einem Kubernetes-Produktionscluster bereitzustellen.
  • Eine Kubernetes-YAML-Datei, die Sie im CD-Abschnitt der intelligenten Pipeline-Vorlage für CICD auswählen.

    Zum Anwenden der Datei klicken Sie auf Auswählen, wählen die Kubernetes-YAML-Datei aus und klicken auf Verarbeiten. Die intelligente Pipeline-Vorlage zeigt die verfügbaren Dienste und Bereitstellungsumgebungen an. Sie wählen einen Dienst, den Cluster-Endpoint und die Bereitstellungsstrategie aus. Um beispielsweise das Canary-Bereitstellungsmodell zu verwenden, wählen Sie Canary aus und geben den Prozentsatz für die Bereitstellungsphase ein:

    Verarbeiten einer Canary-CICD-Bereitstellung.

Ein Beispiel für die Verwendung der intelligenten Pipeline-Vorlage zum Erstellen einer Pipeline für eine Blau/Grün-Bereitstellung finden Sie unter Vorgehensweise zum Bereitstellen meiner Anwendung in VMware Code Stream für meine Blau/Grün-Bereitstellung.

Vorgehensweise zum Erstellen der CICD-Pipeline mithilfe der intelligenten Pipeline-Vorlage

Nachdem Sie alle Informationen gesammelt und alles Notwendige eingerichtet haben, erhalten Sie hier Informationen zum Erstellen einer Pipeline anhand der intelligenten Pipeline-Vorlage für CICD.

Klicken Sie unter „Pipelines“ auf Neue Pipeline > Intelligente Vorlagen.

Klicken Sie auf „Intelligente Vorlage“.

Sie wählen die intelligente Pipeline-Vorlage für CICD aus.

Erstellen Sie eine Pipeline für kontinuierliche Integration und Bereitstellung anhand einer intelligenten Pipeline-Vorlage für CICD.

Sie füllen die Vorlage aus und speichern die Pipeline mit den von ihr erstellten Phasen. Wenn Sie abschließende Änderungen vornehmen müssen, können Sie die Pipeline bearbeiten und speichern.

Anhand einer intelligenten Pipeline-Vorlage für CICD erstellte neue CICD-Pipeline-Phasen.

Anschließend aktivieren Sie die Pipeline und führen sie aus. Nach der Ausführung der Pipeline finden Sie hier einige Dinge, nach denen Sie suchen können:

  • Stellen Sie sicher, dass Ihre Pipeline erfolgreich war. Klicken Sie auf Ausführungen und suchen Sie nach Ihrer Pipeline. Wenn sie fehlgeschlagen ist, korrigieren Sie alle Fehler und führen Sie sie erneut aus.
  • Stellen Sie sicher, dass der Git-Webhook ordnungsgemäß funktioniert. Auf der Git-Registerkarte Aktivität werden die Ereignisse angezeigt. Klicken Sie auf Auslöser > Git > Aktivität.
  • Sehen Sie sich das Pipeline-Dashboard an und untersuchen Sie die Trends. Klicken Sie auf Dashboards und suchen Sie nach Ihrem Pipeline-Dashboard. Sie können auch ein benutzerdefiniertes Dashboard erstellen, um zusätzliche KPIs zu melden.

Ein detailliertes Beispiel finden Sie unter Vorgehensweise zur kontinuierlichen Integration von Code aus einem GitHub- oder GitLab-Repository in eine Pipeline in VMware Code Stream.