Dieses Dokument bietet einen Überblick über die Bereitstellungsautomatisierung.
Sie können Cloud Deploy so konfigurieren, dass Release- und Roll-out-bezogene Aufgaben für eine bestimmte Bereitstellungspipeline automatisch ausgeführt werden. Zu diesen Aufgaben gehören das Hochstufen von Releases und der Phasenfortschritt.
Weitere Informationen zu den Ressourcen, die für die Release-Automatisierung in Cloud Deploy verwendet werden.
Automatisierte Aktionen
In Cloud Deploy können Sie die folgenden Release- und Rollout-Aktivitäten automatisieren:
Release hochstufen
Sie können Cloud Deploy so konfigurieren, dass Ihr Release nach einem erfolgreichen Roll-out auf einem Ziel automatisch hochgestuft wird. Wenn Sie beispielsweise die drei Ziele
dev
,staging
undprod
haben, können Sie eine Automatisierung so konfigurieren, dass der Release nach einer erfolgreichen Bereitstellung instaging
ohne weitere menschliche Interaktion aufprod
hochgestuft wird.Roll-out fortsetzen
Sie können Cloud Deploy so konfigurieren, dass ein Roll-out nach einem erfolgreichen Roll-out für das vorherige Ziel von einer Phase in die nächste fortgesetzt wird. Das Fortsetzen von Phasen ist nur bei Zielen verfügbar, die eine Canary-Bereitstellungsstrategie verwenden.
Wie funktioniert die Automatisierung?
Jede Automatisierung ist an die Bereitstellungspipeline gebunden, für die sie verwendet wird. Eine Automatisierung kann nicht für mehrere Bereitstellungspipelines freigegeben werden.
Im Folgenden wird das allgemeine Verfahren zur Konfiguration und Ausführung einer Automatisierung beschrieben:
Sie konfigurieren eine Automatisierung.
Diese Automatisierung ist mit einer Bereitstellungspipeline verknüpft.
Sie registrieren diese Automatisierung mit
gcloud deploy apply
.Dadurch wird die Automatisierungsressource erstellt.
Die mit dieser Automatisierung verknüpfte Bereitstellungspipeline rufen Sie durch Erstellen eines Release auf.
Das Roll-out ist auf mindestens ein Ziel erfolgreich.
Im Ziel, für das diese Automatisierung konfiguriert ist...
Wenn die Automatisierung den Status
promoteReleaseRule
hat:Die Ausführung wartet, bis das Roll-out am Quellziel abgeschlossen ist. Das Quellziel ist der für die Automatisierung konfigurierte
selector.targets
, nicht imAutomationRule
.Wenn eine
wait
-Zeit konfiguriert ist, wartet die Ausführung ebenfalls auf diese Zeit.Der Release wird automatisch zum nächsten Ziel im Pipelinefortschritt oder, wenn angegeben, auf ein bestimmtes Ziel hochgestuft.
Wenn die Automatisierung
advanceRolloutRule
ist und das Ziel eine Canary-Deployment-Strategie verwendet:Die Ausführung wartet auf die identifizierte Quellphase, falls diese vorhanden ist.
Das Attribut
sourcePhase
ist optional. Wenn keine Quellphasen angegeben sind, wird jede Phase im Roll-out automatisch fortgesetzt. Der automatische Phasenfortschritt findet statt, wenn die QuellphaseIN_PROGRESS
ist, vorbehaltlich derwait
-Zeit.Wenn eine
wait
-Zeit konfiguriert ist, wartet die Ausführung ebenfalls auf diese Zeit.Wenn Sie ein Canary-Deployment automatisieren, geben Sie anhand dieser Wartezeit die Dauer der einzelnen Canary-Phasen an.
Das Roll-out wird automatisch von dieser Quellphase in die nächste Roll-out-Phase fortgesetzt.
Wenn es eine zusätzliche Quellphase gibt, wird diese behandelt, einschließlich der gleichen Wartezeit, falls zutreffend.
Automatisierungsressourcen
Es gibt zwei Cloud Deploy-Ressourcen, die speziell für die Automatisierung vorgesehen sind:
Automatisierung
Ein
Automation
ist eine untergeordnete Ressource einer Bereitstellungspipeline und enthält die folgenden Informationen:- Ein Verweis auf das oder die Ziele, für die die Automatisierung verwendet wird
- Eine oder mehrere Regeln, mit denen festgelegt wird, was und wie die Automatisierung abläuft
Die Konfiguration der Automatisierungsressource wird im Dokument Informationen zur Automatisierungsressource beschrieben.
Wenn Sie
gcloud deploy apply
für eine Datei ausführen, die eine Automatisierungskonfiguration (kind: Automation
) enthält, erstellt Cloud Deploy eine Automatisierungsressource, die eine Bereitstellungspipeline und ein oder mehrere Ziele mit einer oder mehreren Automatisierungsregeln verknüpft.Automatisierungsausführung
AutomationRun
ist eine Instanz einer Automatisierung. Er verweist auf die entsprechende Automatisierungsressource sowie Informationen zum Roll-out, durch das sie ausgelöst wurde, und anderer Metadaten.Die Automatisierungsausführung wird erstellt, wenn eine Automatisierung ausgelöst wird.
Weitere Informationen zu Automatisierungsressourcen
Automatisierungsregeln
Eine Automatisierungsregel definiert eine Aktion, die in Ihrer Bereitstellungspipeline automatisch ausgeführt werden kann, sowie Details zum Ablauf der Automatisierung.
Weitere Informationen zu Automatisierungsregeln
Rollen und Berechtigungen für Identity and Access Management erforderlich
Zusätzlich zu den Berechtigungen, die Sie zum Ausführen einer Cloud Deploy-Bereitstellungspipeline und zum Ausführen der zu automatisierenden Aufgaben (z. B. Fortsetzen eines Roll-outs) benötigen, sind mehrere Berechtigungen erforderlich, um bestimmte Vorgänge für die Ressourcen Automation
und AutomationRun
auszuführen:
clouddeploy.automations.create
clouddeploy.automations.delete
clouddeploy.automations.get
clouddeploy.automations.list
clouddeploy.automations.update
clouddeploy.automationRuns.cancel
clouddeploy.automationRuns.get
clouddeploy.automationRuns.list
Weitere Informationen finden Sie unter IAM-Rollen und -Berechtigungen. Dort erfahren Sie auch, welche Cloud Deploy-Rollen einschließlich dieser Berechtigungen enthalten sind.
Automatisierung erstellen
Sie können unter Verwendung einer der verfügbaren Automatisierungsregeln eine Automatisierung erstellen. Konfigurieren Sie dazu eine Automatisierung und erstellen Sie dann die Automatisierungsressource mit gcloud deploy apply
.
Weitere Informationen finden Sie im folgenden Abschnitt (Automatisierung konfigurieren) und unter Automatisierungsregeln konfigurieren.
Automatisierung konfigurieren
Weitere Informationen zur Konfiguration der Ressource Automation
finden Sie unter Schema für Konfigurationsdatei.
Konfiguration von Automatisierungsregeln
Zusätzlich zu dieser Automatisierungskonfiguration geben Sie Automatisierungsregeln an. Die Konfiguration ist für jede der verfügbaren Regeln unterschiedlich.
Beschreibungen der einzelnen verfügbaren Regeln finden Sie unter Automatisierungsregeln verwenden.
Automatisierung aussetzen
Sie können eine vorhandene Ressource anhalten, ohne sie zu löschen. Dies kann hilfreich sein, um eine Automatisierung zu testen, ohne die Bereitstellungspipeline zu beeinträchtigen. Wenn Sie eine Automatisierung sperren, wird die Automatisierung nicht ausgeführt. Es werden aber Plattformlogs generiert.
Aktualisieren Sie in der
Automation
-Konfiguration das Attributsuspended
auftrue
.Führen Sie
gcloud deploy apply
für diese Konfigurationsdatei aus.Plattformlogs werden auch dann generiert, wenn die Automatisierung angehalten wird. Damit können Sie die Automatisierung testen und debuggen, ohne die Bereitstellungspipeline zu beeinträchtigen.
Nächste Schritte
Kurzanleitung: Releaseerstellung und Roll-out automatisieren
Weitere Informationen zu Cloud Deploy-Automatisierungsregeln
Weitere Informationen zu Ressourcen für die Cloud Deploy-Automatisierung.
Details zu den Konfigurationsdateien für die Automatisierung finden Sie in der Dokumentation zum Schema für Konfigurationsdateien.