Sie konfigurieren das Rollback als Pipeline mit Aufgaben, die Ihre Bereitstellung nach einem Fehler in einer Bereitstellungs-Pipeline auf einen früheren stabilen Zustand zurücksetzen. Sie hängen die Rollback-Pipeline an Aufgaben oder Phasen an, für die Sie im Falle eines Fehlers ein Rollback durchführen möchten.

Je nach Ihrer Rolle können Ihre Gründe für ein Rollback variieren.

  • Als Versionsentwickler möchten Sie, dass VMware Code Stream den Erfolg während einer Freigabe überprüft, damit Sie wissen, ob Sie mit der Freigabe fortfahren oder ein Rollback durchführen. Mögliche Fehler sind Aufgabenfehler, eine Ablehnung in UserOps oder eine Überschreitung des Metrikschwellenwerts.
  • Als Besitzer einer Umgebung möchten Sie eine vorherige Version erneut bereitstellen, damit Sie eine Umgebung schnell wieder in einen zweifelsfrei funktionierenden Zustand versetzen können.
  • Als Besitzer einer Umgebung möchten Sie das Rollback einer Blau/Grün-Bereitstellung unterstützen, um die Ausfallzeit bei fehlgeschlagenen Versionen minimieren zu können.

Wenn Sie eine intelligente Pipeline-Vorlage mit aktivierter Rollback-Option zum Erstellen einer CD-Pipeline verwenden, wird das Rollback automatisch den Aufgaben in der Pipeline hinzugefügt. In diesem Anwendungsfall verwenden Sie die intelligente Pipeline-Vorlage, um das Rollback für eine Anwendungsbereitstellung auf einem Kubernetes-Cluster mithilfe des Bereitstellungsmodells für das parallele Upgrade zu definieren. Die intelligente Pipeline-Vorlage erstellt eine Bereitstellungs-Pipeline und eine oder mehrere Rollback-Pipelines.

  • In der Bereitstellungs-Pipeline ist ein Rollback erforderlich, wenn Aufgaben vom Typ „Bereitstellung aktualisieren“ oder „Bereitstellung überprüfen“ fehlschlagen.
  • In der Rollback-Pipeline wird die Bereitstellung mit einem alten Image aktualisiert.

Sie können eine Rollback-Pipeline auch manuell mithilfe einer leeren Vorlage erstellen. Bevor Sie eine Rollback-Pipeline erstellen, sollten Sie den Rollback-Ablauf planen. Weitere Hintergrundinformationen zum Rollback finden Sie unter Planen für ein Rollback in VMware Code Stream.

Voraussetzungen

  • Vergewissern Sie sich, dass Sie Mitglied eines Projekts in VMware Code Stream sind. Falls nicht, bitten Sie einen VMware 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.
  • Richten Sie die Kubernetes-Cluster ein, in denen Ihre Pipeline Ihre Anwendung bereitstellt. Richten Sie einen Entwicklungs-Cluster und einen Produktions-Cluster ein.
  • Erstellen Sie die Kubernetes-Entwicklungs- und -Produktions-Endpoints, die Ihr Anwendungs-Image in den Kubernetes-Clustern bereitstellen.
  • Stellen Sie sicher, dass Sie über die Einrichtung einer Docker-Registrierung verfügen.
  • Stellen Sie sicher, dass Sie über eine Kubernetes-YAML-Datei verfügen, die auf die Bereitstellung angewendet werden soll.
  • Machen Sie sich mit der intelligenten Pipeline-Vorlage für CD vertraut. Weitere Informationen hierzu finden Sie unter Planen eines nativen CD-Builds in VMware Code Stream vor der Verwendung der intelligenten Pipeline-Vorlage.

Prozedur

  1. Klicken Sie auf Pipelines > Neue Pipeline > Intelligente Vorlage > Kontinuierliche Bereitstellung.
  2. Geben Sie die Informationen in die intelligente Pipeline-Vorlage ein.
    1. Wählen Sie ein Projekt aus.
    2. Geben Sie einen Pipeline-Namen ein, zum Beispiel RollingUpgrade-Example.
    3. Wählen Sie die Umgebungen für Ihre Anwendung aus. Wenn Sie ein Rollback zu Ihrer Bereitstellung hinzufügen möchten, müssen Sie Prod auswählen.
    4. Klicken Sie auf Auswählen, wählen Sie eine Kubernetes-YAML-Datei aus und klicken Sie auf Prozess.
      Die intelligente Pipeline-Vorlage zeigt die verfügbaren Dienste und Bereitstellungsumgebungen an.
    5. Wählen Sie den Dienst aus, den die Pipeline für die Bereitstellung verwenden soll.
    6. Wählen Sie die Cluster-Endpoints für Dev- und Prod-Umgebungen aus.
    7. Wählen Sie als Image-Quelle Pipeline-Laufzeiteingabe aus.
    8. Wählen Sie als Bereitstellungsmodell Paralleles Upgrade aus.
    9. Klicken Sie auf Rollback.
    10. Geben Sie die URL für die Integritätsprüfung an.
    Rollback-Pipeline erstellen
  3. Um die Pipeline mit dem Namen „RollbackUpgrade-Example“ zu erstellen, klicken Sie auf Erstellen.

    Die RollbackUpgrade-Example-Pipeline wird mit dem Rollback-Symbol für Aufgaben in der Entwicklungs- und Produktionsphase angezeigt, für die ein Rollback durchgeführt werden kann.

    Beispiel-Pipeline: RollbackUpgrade

  4. Schließen Sie die Pipeline.

    Auf der Seite „Pipelines“ werden die von Ihnen erstellte Pipeline und eine neue Pipeline für jede Phase in Ihrer Pipeline angezeigt.

    • RollingUpgrade-Example. Die von Ihnen erstellte Pipeline ist standardmäßig deaktiviert, um sicherzustellen, dass Sie sie vor der Durchführung überprüfen.
    • RollingUpgrade-Example_Dev_Rollback. Diese Entwicklungs-Rollback-Pipeline wird für den Ausfall von Aufgaben in der Entwicklungsphase aufgerufen, zum Bespiel „Dienst erstellen“, „Geheimen Schlüssel erstellen“, „Bereitstellung erstellen“, „Bereitstellung überprüfen“. Die Entwicklungs-Rollback-Pipeline ist standardmäßig aktiviert, um das Rollback von Entwicklungsaufgaben sicherzustellen.
    • RollingUpgrade-Example_Prod_Rollback. Diese Produktions-Rollback-Pipeline wird beim Ausfall von Aufgaben in der Produktionsphase aufgerufen, wie zum Beispiel „Phase 1 bereitstellen“, „Phase 1 überprüfen“, „Rollout-Phase bereitstellen“, „Rollout-Phase abschließen“, „Rollout-Phase überprüfen“. Die Produktions-Rollback-Pipeline ist standardmäßig aktiviert, um das Rollback von Produktionsaufgaben sicherzustellen.
    Primäre, prod_rollback- und dev_rollback-Pipelines
  5. Aktivieren Sie die von Ihnen erstellte Pipeline und führen Sie sie aus.
    Wenn Sie die Ausführung starten, werden Sie zur Angabe von Eingabeparametern aufgefordert. Sie stellen das Image und das Tag für den Endpoint im Docker-Repository bereit, das Sie verwenden.
  6. Klicken Sie auf der Seite „Ausführungen“ auf Aktionen > Ausführung anzeigen, um die Pipeline-Ausführung zu überwachen.

    Die Pipeline startet mit dem Status RUNNING und durchläuft die Aufgaben der Entwicklungsphase. Wenn die Pipeline während der Entwicklungsphase keine Aufgabe ausführen kann, wird die Pipeline mit dem Namen „RollingUpgrade-Example_Dev_Rollback“ ausgelöst, um die Bereitstellung zurückzusetzen, und der Pipelinestatus ändert sich in ROLLING_BACK.

    Rollback

    Nach dem Rollback werden auf der Seite „Ausführungen“ zwei RollingUpgrade-Example-Pipeline-Ausführungen aufgelistet.

    • Die von Ihnen erstellte Pipeline, für die ein Rollback durchgeführt wurde, zeigt ROLLBACK_COMPLETED an.
    • Die Entwicklungs-Rollback-Pipeline, die zum Durchführen des Rollbacks ausgelöst wurde, zeigt COMPLETED an.

    Nach dem Rollback ausgeführte Pipelines

Ergebnisse

Herzlichen Glückwunsch! Sie haben erfolgreich eine Pipeline mit Rollback definiert und die Durchführung des Pipeline-Rollbacks durch VMware Code Stream zum Zeitpunkt des Fehlers überwacht.