Bereitstellung automatisieren

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

  1. Ich Automatisierung konfigurieren

    Diese Automatisierung ist mit einer Bereitstellungspipeline verbunden.

  2. Sie registrieren diese Automatisierung mit gcloud deploy apply.

    Dadurch wird der Automatisierungsressource.

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

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

  5. In dem Ziel, für das diese Automatisierung konfiguriert ist...

    Wenn die Automatisierung promoteReleaseRule ist:

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

    2. Wenn eine Zeit für wait konfiguriert ist, wird diese Zeit ebenfalls ausgeführt.

    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 das Ziel ein Canary verwendet Bereitstellungsstrategie:

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

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

  2. Führen Sie gcloud deploy apply für diese Konfigurationsdatei aus.

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