Bereitstellung automatisieren

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 zu den Ressourcen, die für die Releaseautomatisierung in Cloud Deploy verwendet werden

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 und prod) haben, können Sie eine Automatisierung sodass die Veröffentlichung ohne weitere menschlicheprod Interaktion nach einer erfolgreichen Bereitstellung in staging.

  • 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:

  1. Sie konfigurieren eine Automatisierung.

    Diese Automatisierung ist mit einer Bereitstellungspipeline verknüpft.

  2. Sie registrieren diese Automatisierung mit gcloud deploy apply.

    Dadurch wird die Automatisierungsressource erstellt.

  3. Sie rufen die mit dieser Automatisierung verknüpfte Bereitstellungspipeline auf, indem Sie Erstellen eines Release.

  4. Das Roll-out war für mindestens ein Ziel erfolgreich.

  5. Für das Ziel, für das diese Automatisierung konfiguriert ist:

    Wenn die Automatisierung promoteReleaseRule ist:

    1. 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 im AutomationRule.

    2. Wenn eine wait-Zeit konfiguriert ist, wartet die Ausführung auch auf diese Zeit.

    3. 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:

    1. 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 Quellphase IN_PROGRESS, vorbehaltlich wait-mal.

    2. 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.

    3. Das Roll-out geht automatisch von dieser Quellphase in die nächste über. in der Einführungsphase ist.

    4. 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.

  1. Im Automation-Konfiguration, Ändern Sie die Eigenschaft suspended in true.

  2. Führen Sie gcloud deploy apply mit dieser Konfigurationsdatei aus.

  3. 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