Release bewerben und Genehmigungen verwalten

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

Hinweise

Auf dieser Seite wird davon ausgegangen, dass Sie bereits eine Version 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 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.

    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 veröffentlichen wird angezeigt. Hier sehen Sie die Details des Ziels, auf das Sie Ihre Werbung ausrichten.

  4. Klicken Sie auf Hochstufen.

Wenn sich die Bereitstellungspipeline oder das Ziel seit der Erstellung des Release geändert hat, gibt Cloud Deploy eine Nachricht mit dem Hinweis auf eine mögliche Abweichung zurück und fordert Sie auf, die Umstellung zu bestätigen. Sie können n auf die Aufforderung reagieren und die Unterschiede zwischen den Pipelineversionen prüfen, bevor Sie fortfahren. Wenn Sie die Version trotzdem hochstufen, wird sie gemäß der Bereitstellungspipeline bereitgestellt, die beim Erstellen der Version definiert wurde. Weitere Informationen zu Pipeline-Nichtübereinstimmungen 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:

Lieferpipeline-Visualisierung 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 eine Genehmigung für ein beliebiges Ziel anfordern möchten, 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 Lieferpipeline.

Wenn für ein Roll-out noch keine Genehmigung vorliegt, erhalten Nutzer oder Systeme, die das Pub/Sub-Thema clouddeploy-approvals abonniert haben, eine Benachrichtigung und können das Roll-out genehmigen oder ablehnen.

Wenn Sie die parallele Bereitstellung verwenden, können Sie das Multi-Target so konfigurieren, dass eine Genehmigung erforderlich ist. Wenn die Beförderung zum Ziel abgelehnt wird, schlägt das Controller-Roll-out mit dem Status APPROVAL_REJECTED fehl und die untergeordneten Roll-outs werden nicht erstellt.

Einführung 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 clouddeploy-approvals-Thema.

Jeder Nutzer oder jedes Dienstkonto mit der Rolle roles/clouddeploy.approver kann ein Cloud Deploy-Roll-out 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, kann den Rollout über die Cloud Deploy API genehmigen oder ablehnen.

Manuell genehmigen oder ablehnen

Console

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

    Zur Seite der Lieferpipelines

    Die Liste der Lieferpipelines wird in der Google Cloud Console angezeigt. Lieferpipelines, die konfiguriert, 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 eine entsprechende Berechtigung haben, enthält die Visualisierung den Link Prü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 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 im Ziel bereitgestellt. Wenn Sie die Bewerbung ablehnen, wird sie nicht bereitgestellt und kann erst dann genehmigt werden, wenn sie noch einmal beworben 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 eine Anfrage ab:

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