Release bewerben und Genehmigungen verwalten

Auf dieser Seite wird beschrieben, wie Sie einen vorhandenen Cloud Deploy-Release zum nächsten Ziel in einer Sequenz einer 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 die Version erstellt wurde, z. B. us-central1. Das ist ein Pflichtfeld.

Weitere Informationen zum gcloud deploy releases promote-Befehl 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.

    Lieferpipeline-Visualisierung 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. Hier werden die Details des Ziels angezeigt, für das Sie das Release hochstufen.

  4. Klicken Sie auf Hochstufen.

Wenn sich die Bereitstellungspipeline oder das Ziel seit dem Erstellen des Release geändert hat, gibt Cloud Deploy eine Nachricht zurück, die auf eine mögliche Abweichung hinweist, und fordert Sie auf, die Weiterleitung zu bestätigen. Sie können mit n auf den Prompt antworten und die Unterschiede zwischen den Pipelineversionen prüfen, bevor Sie fortfahren. Wenn Sie sich trotzdem für die Hochstufung entscheiden, wird das Release gemäß der Bereitstellungspipeline bereitgestellt, wie sie beim Erstellen des Release definiert wurde. Weitere Informationen zu Pipeline-Abweichungen finden Sie unter Pipelineinstanzen pro Release.

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

Visualisierung der Lieferpipeline in der Google Cloud Console

Genehmigungen für eine Lieferpipeline verwalten

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

Genehmigungen können programmatisch durch die Einbindung Ihres Workflow-Verwaltungssystems (z. B. ServiceNow) oder eines anderen Systems in Cloud Deploy mit Pub/Sub und der Cloud Deploy API verwaltet werden.

Genehmigung erforderlich

Wenn Sie für ein beliebiges Ziel eine Genehmigung anfordern möchten, legen Sie requireApproval in der Zielkonfiguration auf true fest:

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

Weitere Informationen finden Sie unter Lieferpipeline konfigurieren.

Wenn ein Rollout auf Genehmigung wartet, erhalten Nutzer oder Systeme, die das Pub/Sub-Thema clouddeploy-approvals abonniert haben, eine Benachrichtigung über das Thema clouddeploy-approvals und können den Rollout dann genehmigen oder ablehnen.

Wenn Sie parallele Bereitstellung verwenden, können Sie das Multi-Target so konfigurieren, dass eine Genehmigung erforderlich ist. Wenn die Promotion 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

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

Ihr integriertes Workflow-Verwaltungssystem kann, nachdem es eine Benachrichtigung über eine erforderliche Genehmigung per Dienstbenachrichtigung erhalten hat, den Rollout über die Cloud Deploy API genehmigen oder ablehnen.

Manuell genehmigen oder ablehnen

Console

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

    Zur Seite der Lieferpipelines

    Die Liste der Lieferpipelines wird in der Google Cloud Console angezeigt. Lieferpipelines, die konfiguriert wurden, aber nicht beim Cloud Deploy-Dienst registriert sind, 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 entsprechende Berechtigungen haben, enthält die Visualisierung den Link Ü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 „Rollout genehmigen“ wird angezeigt.

    Details zum Roll-out 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 auf dem Ziel bereitgestellt. Wenn Sie die Anfrage ablehnen, wird die Anwendung nicht bereitgestellt und kann später nicht genehmigt werden, es sei denn, sie wird noch einmal beworben.

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 eine Anfrage ab:

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