Dieses Dokument bietet einen Überblick über die Automatisierung der Bereitstellung.
Sie können Cloud Deploy so konfigurieren, dass Release-bezogene automatisch ausgeführt werden Roll-out-Aufgaben für eine bestimmte Bereitstellungspipeline. Zu diesen Aufgaben gehören Promotion für Veröffentlichungen und den Phasenaufstieg.
Weitere Informationen über die Ressourcen, die für in Cloud Deploy automatisieren.
Weitere Informationen zum Einrichten der Regeln wie diese Automatisierungen funktionieren.
Aktionen, die automatisiert werden können
In Cloud Deploy können Sie den folgenden Release und Einführungsaktivitäten:
Release hochstufen
Sie können Cloud Deploy so konfigurieren, dass Ihr Release hochgestuft wird automatisch nach einer erfolgreichen Einführung für ein Ziel. Wenn Sie beispielsweise drei Ziele (
dev
,staging
undprod
) haben, können Sie eine Automatisierung sodass die Veröffentlichung ohne weitere menschlicheprod
Interaktion nach einer erfolgreichen Bereitstellung instaging
.Roll-out fortsetzen
Sie können Cloud Deploy so konfigurieren, dass ein Roll-out von einer Stelle aus durchgeführt wird Phase in nach einem erfolgreichen Roll-out auf das vorherige Ziel. Phasenaufstieg ist nur in Zielen verfügbar, für die ein Canary-Bereitstellungsstrategie
Wie funktioniert die Automatisierung?
Jede Automatisierung ist an die Bereitstellungspipeline gebunden, für die sie verwendet wird. Sie können nicht Automatisierung über mehrere Bereitstellungspipelines hinweg nutzen.
Im Folgenden wird das allgemeine Verfahren zur Konfiguration und Ausführung einer Automatisierung:
Ich Automatisierung konfigurieren
Diese Automatisierung ist mit einer Bereitstellungspipeline verbunden.
Sie registrieren diese Automatisierung mit
gcloud deploy apply
.Dadurch wird der Automatisierungsressource.
Sie rufen die mit dieser Automatisierung verknüpfte Bereitstellungspipeline auf, indem Sie Erstellen eines Release.
Das Roll-out ist für mindestens ein Ziel erfolgreich.
In dem Ziel, für das diese Automatisierung konfiguriert ist...
Wenn die Automatisierung
promoteReleaseRule
ist:Die Ausführung wartet, bis das Roll-out im Quellziel erfolgreich ist. Das Quellziel ist die
selector.targets
, die für die Automatisierung konfiguriert wurde. nicht imAutomationRule
.Wenn eine Zeit für
wait
konfiguriert ist, wird diese Zeit ebenfalls ausgeführt.Der Release wird automatisch zum nächsten Ziel in der Pipeline hochgestuft oder zu einem bestimmten Ziel, falls angegeben.
Wenn die Automatisierung
advanceRolloutRule
ist und das Ziel ein Canary verwendet Bereitstellungsstrategie:Die Ausführung wartet auf das erkannte Quellphase wenn es einen gibt.
Das Attribut
sourcePhase
ist optional. Wenn keine Quellphasen vorhanden sind angegeben ist, wird jede Phase im Rollout automatisch fortgeführt. Die der automatische Phasenumbruch erfolgt, wenn die QuellphaseIN_PROGRESS
, vorbehaltlichwait
-mal.Wenn eine Zeit für
wait
konfiguriert ist, wird diese Zeit ebenfalls ausgeführt.Wenn Sie ein Canary-Deployment automatisieren, und geben die Dauer jeder Canary-Phase an.
Das Roll-out geht automatisch von dieser Quellphase in die nächste über. in der Einführungsphase ist.
Gibt es eine zusätzliche Quellphase, wird sie gleich behandelt, einschließlich der die gleiche Wartezeit.
Automatisierungsressourcen
Es gibt zwei Cloud Deploy-Ressourcen, die speziell für Automatisierung:
Automatisierung
Eine
Automation
ist eine untergeordnete Ressource einer Bereitstellungspipeline und enthält die folgenden Informationen:- Ein Verweis auf das Ziel oder die Ziele, für die die Automatisierung verwendet wird
- Eine oder mehrere Regeln, die die Funktionsweise der Automatisierung steuern
Die Konfiguration für die Automatisierungsressource wird im Dokument beschrieben Informationen zur Automatisierungsressource
Wenn Sie
gcloud deploy apply
für eine Datei ausführen, die eine Automatisierung enthält (kind: Automation
) konfiguriert, erstellt Cloud Deploy eine Automatisierungsressource die eine Bereitstellungspipeline und ein oder mehrere Ziele mit einem oder mehreren Automatisierungsregeln.Automatisierungsausführung
AutomationRun
ist eine Instanz einer Automatisierung. Es ist ein Hinweis auf entsprechende Automatisierungsressource sowie Informationen zum Rollout, und andere Metadaten enthalten.Die Automatisierungsausführung wird erstellt, wenn eine Automatisierung ausgelöst wird.
Weitere Informationen zu Automatisierungsressourcen
Automatisierungsregeln
Mit einer Automatisierungsregel wird eine Aktion definiert, die für Ihre Bereitstellungspipeline ausgeführt werden kann sowie Details zur Durchführung der Automatisierung.
Weitere Informationen zu Automatisierungsregeln
Erforderliche Rollen und Berechtigungen für Identity and Access Management
Zusätzlich zu den Berechtigungen, die Sie zum Ausführen von Cloud Deploy benötigen
Bereitstellungspipeline und die Ausführung der zu automatisierenden Aufgaben (z. B. das Fortsetzen
oder Roll-out ausführen, sind mehrere Berechtigungen erforderlich,
bestimmte Vorgänge für die Ressourcen Automation
und AutomationRun
:
clouddeploy.automations.create
clouddeploy.automations.delete
clouddeploy.automations.get
clouddeploy.automations.list
clouddeploy.automations.update
clouddeploy.automationRuns.cancel
clouddeploy.automationRuns.get
clouddeploy.automationRuns.list
Zusätzlich zu diesen Berechtigungen benötigt jede Automatisierungsregel möglicherweise weitere zum Ausführen des automatisierten Vorgangs. Weitere Informationen finden Sie unter Automatisierungsregeln konfigurieren für die spezifischen Berechtigungen, die pro Automatisierungsregel erforderlich sind.
Weitere Informationen finden Sie unter IAM-Rollen und -Berechtigungen Weitere Informationen, z. B. zu welcher Cloud Deploy-Instanz Rollen enthalten diese Berechtigungen.
Automatisierung erstellen
Sie können Automatisierungen erstellen und dabei
verfügbaren Automatisierungsregeln,
indem Sie eine Automatisierung konfigurieren und dann die Automatisierungsressource mit
gcloud deploy apply
Weitere Informationen finden Sie im folgenden Abschnitt (Automatisierung konfigurieren) und Automatisierungsregeln konfigurieren
Automatisierung konfigurieren
Weitere Informationen finden Sie in der
Schema der Konfigurationsdatei
finden Sie weitere Informationen zur Konfiguration des
Automation
-Ressource.
Konfiguration der Automatisierungsregel
Zusätzlich zu dieser Automatisierungskonfiguration geben Sie Automatisierungsregeln. Die Konfiguration ist anders für jede der verfügbaren Regeln.
Weitere Informationen finden Sie unter Automatisierungsregeln für die jeweiligen Beschreibungen der verfügbaren Regeln.
Automatisierung anhalten
Sie können eine vorhandene Ressource sperren, ohne sie zu löschen. Dies kann nützlich sein, zum Testen einer Automatisierung, ohne die Bereitstellungspipeline zu beeinträchtigen. Wenn Sie eine Automatisierung aussetzen, wird sie zwar nicht ausgeführt, Plattformlogs werden weiterhin generiert.
Im
Automation
-Konfiguration, Ändern Sie die Eigenschaftsuspended
intrue
.Führen Sie
gcloud deploy apply
für diese Konfigurationsdatei aus.Plattformprotokolle werden weiterhin generiert, wenn der eine Automatisierung instanziiert wird, auch wenn sie ausgesetzt ist. Damit können Sie testen, Fehler in der Automatisierung beheben, ohne die Bereitstellungspipeline zu beeinträchtigen.
Nächste Schritte
Kurzanleitung: Release-Erstellung und Einführung von Roll-outs automatisieren
Weitere Informationen zu Cloud Deploy Automatisierungsregeln.
Weitere Informationen zu Cloud Deploy Automatisierung.
Weitere Informationen finden Sie in der Dokumentation zum Schema der Konfigurationsdatei finden Sie weitere Informationen zu den Konfigurationsdateien für die Automatisierung.