Release hochstufen und Genehmigungen verwalten

Auf dieser Seite wird beschrieben, wie Sie einen vorhandenen Cloud Deploy-Release zum nächsten Ziel im Fortschritt der Bereitstellungspipeline hochstufen.

Hinweise

Auf dieser Seite wird davon ausgegangen, dass Sie bereits einen Release erstellt haben.

Release hochstufen

Wenn Ihr Release in einem in Ihrer Lieferpipeline definierten Ziel bereitgestellt wird, können Sie es zum nächsten Ziel hochstufen:

gcloud

gcloud deploy releases promote --release=RELEASE_NAME \
                               --delivery-pipeline=PIPELINE_NAME \
                               --region=REGION

Wobei:

RELEASE_NAME ist der Name des Releases, den Sie hochstufen.

PIPELINE_NAME ist der Name der Lieferpipeline, die Sie zum Verwalten der Bereitstellung dieses Release verwenden.

REGION ist der Name der Region, in der der Release erstellt wurde, z. B. us-central1. Das ist ein Pflichtfeld.

Weitere Informationen zum Befehl gcloud deploy releases promote finden Sie in der Google Cloud SDK-Referenz.

Console

  1. Öffnen Sie die Seite der Lieferpipelines.

  2. Klicken Sie auf Ihre Pipeline, die in der Liste der Lieferpipelines angezeigt wird.

    Die Detailseite der Lieferpipeline zeigt eine grafische Darstellung des Fortschritts der Lieferpipeline.

    Visualisierung der Bereitstellungspipeline in der Google Cloud Console

  3. Klicken Sie für das erste Ziel in der Visualisierung der Lieferpipeline auf Hochstufen.

    Das Dialogfeld Release hochstufen wird angezeigt. Es enthält die Details des Ziels, zu dem Sie hochstufen.

  4. Klicken Sie auf Werben.

Wenn sich die Bereitstellungspipeline oder das Bereitstellungsziel seit der Erstellung des Release geändert hat, gibt Cloud Deploy eine Nachricht zurück, die auf eine mögliche Abweichung hinweist, und fordert Sie auf, die Hochstufung zu bestätigen. Sie können auf die Eingabeaufforderung mit n antworten und die Unterschiede zwischen den Pipelineversionen untersuchen, bevor Sie fortfahren. Wenn Sie den Release trotzdem hochstufen, wird der Release gemäß der Bereitstellungspipeline bereitgestellt, die beim Erstellen des Release definiert wurde. Weitere Informationen zu Pipelineinstanzen pro Release finden Sie unter Pipelineinstanzen pro Release.

Cloud Deploy erstellt einen rollout für den Release im Zielziel und der Release wird für die Bereitstellung in die Warteschlange gestellt. Bei der Bereitstellung zeigt die Visualisierung der Lieferpipeline dies an:

Visualisierung der Bereitstellungspipeline in der Google Cloud Console

Genehmigungen für eine Bereitstellungspipeline verwalten

Sie können Genehmigungen für beliebige Ziele erforderlich machen und Releases für diese Ziele genehmigen oder ablehnen.

Genehmigungen können programmatisch verwaltet werden, indem Ihr Workflow-Managementsystem (z. B. ServiceNow) oder ein anderes System in Cloud Deploy mithilfe von Pub/Sub und der Cloud Deploy API eingebunden wird.

Genehmigung erforderlich

Wenn für jedes Ziel eine Genehmigung erforderlich sein soll, legen Sie in der Zielkonfiguration requireApproval auf true fest:

     apiVersion: deploy.cloud.google.com/v1
     kind: Target
     metadata:
      name:
     description:
     requireApproval: true

Weitere Informationen finden Sie unter Konfiguration der Bereitstellungspipeline.

Wenn die Genehmigung eines Roll-outs aussteht, werden Nutzer oder Systeme, die das Pub/Sub-Thema clouddeploy-approvals abonnieren, benachrichtigt und können den Roll-out dann genehmigen oder ablehnen.

Bei Verwendung der parallelen Bereitstellung können Sie die Multi-Ziele so konfigurieren, dass eine Genehmigung erforderlich ist. Wenn das Hochstufen zum Ziel abgelehnt wird, schlägt das Controller-Roll-out mit dem Status APPROVAL_REJECTED fehl und die untergeordneten Roll-outs werden nicht erstellt.

Roll-out genehmigen oder ablehnen

Ziele können eine Genehmigung erfordern, bevor ein Release bereitgestellt wird. Wenn Sie zu einem Ziel hochstufen, das eine Genehmigung erfordert, veröffentlicht Cloud Deploy eine Pub/Sub-Nachricht im Thema clouddeploy-approvals.

Jeder Nutzer oder jedes Dienstkonto mit der Rolle roles/clouddeploy.approver kann ein Cloud Deploy-Rollout für ein Ziel genehmigen, das eine Genehmigung erfordert.

Wenn Ihr integriertes Workflow-Management-System über Dienstbenachrichtigungen eine Benachrichtigung erhalten hat, für die eine Genehmigung erforderlich ist, kann der Roll-out mit der Cloud Deploy API genehmigt oder abgelehnt werden.

Manuell genehmigen oder ablehnen

Console

  1. Rufen Sie in der Google Cloud Console die Cloud Deploy-Seite Bereitstellungspipelines auf, um eine Liste der verfügbaren Bereitstellungspipelines aufzurufen.

    Zur Seite der Lieferpipelines

    Die Liste der Bereitstellungspipelines wird in der Google Cloud Console angezeigt. Bereitstellungspipelines, die konfiguriert, aber nicht beim Cloud Deploy-Dienst registriert wurden, werden nicht angezeigt.

  2. Klicken Sie auf den Namen der Lieferpipeline.

    Die Pipelinevisualisierung wird angezeigt. Wenn die Genehmigung aussteht und Sie die Rolle roles/clouddeploy.approver oder gleichwertige Berechtigungen haben, enthält die Visualisierung den Link Review (Überprüfen).

    Visualisierung der Lieferpipeline, Genehmigung ausstehend

  3. Klicken Sie auf Prüfen.

    Eine Liste der noch nicht genehmigten Rollouts wird angezeigt.

    Rollouts für diese Pipeline, ausstehende Genehmigung

  4. Klicken Sie auf Prüfen.

    Der Bildschirm "Roll-out genehmigen" wird angezeigt.

    Details des Rollouts mit ausstehender Genehmigung

    Auf dem Tab Manifest-Diff werden alle Änderungen am gerenderten Manifest zwischen der aktuell bereitgestellten Version (falls vorhanden) und der Version, die Sie jetzt genehmigen oder ablehnen, angezeigt.

  5. Klicken Sie auf Genehmigen oder Ablehnen.

    Wenn Sie zustimmen, wird Ihre Anwendung im Ziel bereitgestellt. Wenn Sie sie ablehnen, wird die Anwendung nicht bereitgestellt und kann erst später genehmigt werden, wenn sie wieder hochgestuft wird.

gcloud

Ein Nutzer mit der roles/clouddeploy.approver-Rolle kann Rollouts manuell genehmigen oder ablehnen. Zum Annehmen:

gcloud deploy rollouts approve rollout-name --delivery-pipeline=pipeline-name \
                                                                   --region=region \
                                                                   --release=release-name

So lehnen Sie die Aktion ab:

gcloud deploy rollouts reject rollout-name --delivery-pipeline=pipeline-name \
                                                                  --region=region \
                                                                  --release=release-name