Deployment-Pipelines verwalten
Eine Deployment-Pipeline enthält die Anforderungen, die erfüllt werden müssen, um eine Gruppe von Artefakten für die Zielumgebung bereitzustellen.
Deployment-Pipelines enthalten verschiedene Phasen für das automatisierte Deployment. Jede Phase ist bestimmten Aktionen in der Pipeline zugeordnet. Sie können die Deployment-Pipeline auf Basis einer der folgenden Releasestrategien ausführen:
- Blue/Green-Strategie: Dabei werden zwei identische Produktionsumgebungen (die blaue und die grüne Umgebung) ausgeführt, um Ausfallzeiten und Risiken zu reduzieren. Es ist jeweils immer nur eine der Umgebungen aktiv, und der Produktionstraffic wird in der aktiven Umgebung ausgeführt. Beispiel: Wenn die blaue Umgebung aktiv ist (Produktionsumgebung), ist die grüne Umgebung die Standbyumgebung (Staging-Umgebung) und umgekehrt. Die aktive Umgebung wechselt bei aufeinander folgenden Deployments zwischen der blauen und der grünen Umgebung. Beim Deployment einer neuen Version der Anwendung wird die neue Version in der Standbyumgebung (grün) getestet. Wenn der Test erfolgreich ist, wird der Traffic von der aktiven Umgebung (blau) in die Standbyumgebung verlagert. Die validierte Version der Software wird erfolgreich bereitgestellt. Jetzt wird die grüne Umgebung aktiv und die blaue zur Standbyumgebung. Die Blue/Green-Deployment-Strategie verringert Ausfallzeiten in einem kontinuierlichen Bereitstellungsmodell erheblich, da die Validierung neuer Releases in Standbyumgebungen erfolgt, ohne Auswirkungen auf die aktuelle Produktionsumgebung. Außerdem verringert diese Strategie das Ausfallrisiko während des Deployments, da Sie ein Rollback zur vorherigen erfolgreichen Version durchführen können, indem Sie den Produktionstraffic einfach verlagern.
- Canary-Strategie: Dabei wird die neue Softwareversion anfänglich für die Canary-Umgebung freigegeben. Nachdem das Release erfolgreich validiert wurde, wird die Software in der Produktionsumgebung freigegeben. Auch diese Strategie reduziert wie die Blue/Green-Strategie Ausfallzeiten und Risiken im Zusammenhang mit dem Deployment. Wenn das erste Release nicht erfolgreich verläuft, wirkt sich das nicht auf die Produktionsumgebung aus. Nur erfolgreiche und genehmigte Releases werden an die Produktion übertragen.
- Rolling-Strategie: Eine neue Version wird inkrementell in der Zielumgebung bereitgestellt, indem jeweils eine Gruppe von Hosts aktualisiert wird. Die Aktualisierung wird validiert, bevor die nächste Gruppe von Hosts aktualisiert wird. Dieser Prozess wird wiederholt, bis das Rollout der neuen Version abgeschlossen ist.
Artefakte können veränderbar oder unveränderbar sein. In Artifact Registry können Sie ein veränderbares Artefakt ersetzen. Dies wird erreicht, indem ein Artefakt in ein veränderbares Repository hochgeladen und ihm der Name eines gelöschten Artefakts zugewiesen wird. Wenn ein Artefakt mit demselben Namen vorhanden ist, löscht und ersetzt das neue Artefakt das alte Artefakt. Die DevOps-Deployment-Pipeline ruft Artefakte basierend auf Artefaktpfad und -version ab. Bei veränderbaren Artefakten kann es sich um das neueste Artefakt im Repository handeln.
Eine Phase ist eine Aktion in der Deployment-Pipeline. Der DevOps-Service umfasst vordefinierte Phasen, die leicht in einer Deployment-Pipeline verwendet werden können. Sie lauten wie folgt:
- In Kubernetes-Clustern bereitstellen: Verwendet die integrierte Kubernetes-Strategie für Rolling-Updates.
- In Instanzgruppen bereitstellen: Updates inkrementell für die Instanzgruppe freigeben. Sie können die maximale Anzahl von Instanzen angeben, die gleichzeitig offline sein können. Dieser Typ unterstützt automatische Rollbacks.
- Deployment auf Basis der Blue/Green-Strategie: Verwendet die Blue/Green-Releasestrategie für das Deployment von Container Engine for Kubernetes (OKE) und Instanzgruppen.
- Deployment auf Basis der Canary-Strategie: Verwendet die Canary-Releasestrategie für das Deployment von OKE und Instanzgruppen.
- In Functions bereitstellen: Verwendet die integrierte Functions-Updatestrategie.
- Helm-Charts bereitstellen: Installieren Sie Helm-Charts im OKE-Cluster.
- Kontrolle:
- Genehmigung: Das Deployment wird angehalten, um auf eine manuelle Entscheidung zu warten.
- Trafficwechsel: Der Traffic wird zwischen zwei Umgebungen weitergeleitet.
- Warten: Das Deployment wird für eine bestimmte Zeit angehalten.
- Integrationen:
- Funktion aufrufen: Ruft eine Funktion auf, um benutzerdefinierte Logik auszuführen.
- Shell: Führen Sie benutzerdefinierte Schritte aus, die in der Befehlsspezifikation der Deployment-Pipeline definiert sind.
Sie können einer Pipeline mehrere Phasen hinzufügen. Phasen können sequenziell oder parallel hinzugefügt werden. Sie können eine beliebige Phase aus der Pipeline entfernen. In diesem Fall werden die Phase und die zugehörigen Ressourcen gelöscht.