Dieses Dokument bietet einen Überblick über die Bereitstellungsautomatisierung.
Sie können Cloud Deploy so konfigurieren, dass Release-bezogene automatisch ausgeführt werden Roll-out-Aufgaben für eine bestimmte Bereitstellungspipeline. Dazu gehören die Veröffentlichung und die Phasenvorbereitung.
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 nach einem erfolgreichen Roll-out auf ein Ziel automatisch freigegeben wird. 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 nach einem erfolgreichen Roll-out auf das vorherige Ziel von einer Phase in die nächste übergeht. 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:
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.
Sie rufen die mit dieser Automatisierung verknüpfte Bereitstellungspipeline auf, indem Sie Erstellen eines Release.
Das Roll-out war für mindestens ein Ziel erfolgreich.
Für das Ziel, für das diese Automatisierung konfiguriert ist:
Wenn die Automatisierung
promoteReleaseRule
ist:Bei der Ausführung wird gewartet, bis das Roll-out auf das Quellziel abgeschlossen ist. Das Quellziel ist die
selector.targets
, die für die Automatisierung konfiguriert wurde. nicht imAutomationRule
.Wenn eine
wait
-Zeit konfiguriert ist, wartet die Ausführung auch auf diese Zeit.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 für das Ziel eine Canary-Bereitstellungsstrategie verwendet wird:Die Ausführung wartet auf die angegebene Quellphase, falls vorhanden.
Das Attribut
sourcePhase
ist optional. Wenn keine Quellphasen angegeben werden, wird jede Phase des Roll-outs automatisch fortgesetzt. 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 die Automatisierung gedacht sind:
Automatisierung
Eine
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, 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
Eine Automatisierungsregel definiert eine Aktion, die automatisch in Ihrer Bereitstellungspipeline ausgeführt werden kann, sowie Details dazu, wie die Automatisierung durchgeführt werden soll.
Weitere Informationen zu Automatisierungsregeln
Erforderliche Identitäts- und Zugriffsverwaltungsrollen und ‑Berechtigungen
Zusätzlich zu den Berechtigungen, die Sie zum Ausführen einer Cloud Deploy-Auslieferungspipeline und zum Ausführen der zu automatisierenden Aufgaben benötigen (z. B. zum Fortsetzen eines Roll-outs), sind mehrere Berechtigungen erforderlich, um bestimmte Vorgänge auf den Automation
- und AutomationRun
-Ressourcen 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
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 eine Automatisierung erstellen und dabei eines der
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 unter Automatisierungsregeln konfigurieren.
Automatisierung konfigurieren
Weitere Informationen zum Konfigurieren der Automation
-Ressource finden Sie im Schema der Konfigurationsdatei.
Konfiguration der Automatisierungsregel
Zusätzlich zu dieser Automatisierungskonfiguration geben Sie Automatisierungsregeln an. Die Konfiguration unterscheidet sich je nach Regel.
Eine Beschreibung der einzelnen Regeln finden Sie unter Automatisierungsregeln verwenden.
Automatisierung anhalten
Sie können eine vorhandene Ressource pausieren, ohne sie zu löschen. Das kann nützlich sein, um eine Automatisierung zu testen, ohne die Bereitstellungspipeline zu beeinträchtigen. Wenn Sie eine Automatisierung pausieren, wird sie nicht ausgeführt, aber Plattformprotokolle werden weiterhin generiert.
Im
Automation
-Konfiguration, Ändern Sie die Eigenschaftsuspended
intrue
.Führen Sie
gcloud deploy apply
mit dieser Konfigurationsdatei aus.Plattformprotokolle werden auch dann generiert, wenn die Automatisierung angehalten 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-Automatisierungsressourcen
Weitere Informationen finden Sie in der Dokumentation zum Schema der Konfigurationsdatei finden Sie weitere Informationen zu den Konfigurationsdateien für die Automatisierung.