Release hochstufen und Genehmigungen verwalten

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

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

Hinweis

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.

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. Hier werden die Details des Ziels angezeigt, auf das Sie hochstufen.

  4. Klicken Sie auf Werben.

Wenn sich die Bereitstellungspipeline oder das Ziel seit der Erstellung des Release geändert hat, gibt Google Cloud Deploy eine Nachricht zurück, die eine mögliche Übereinstimmung angibt, und fordert Sie auf, das Hochstufen zu bestätigen. Sie können mit n auf die Aufforderung antworten und die Unterschiede zwischen den Pipelineversionen prüfen, bevor Sie fortfahren. Wenn Sie sich trotzdem für ein Release entscheiden, wird der Release gemäß der Bereitstellungspipeline bereitgestellt, wie er bei der Erstellung des Release definiert wurde. Weitere Informationen zu Abweichungen bei der Pipeline finden Sie unter Pipelineinstanzen pro Release.

Google 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 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 durch die Einbindung Ihres Workflow-Verwaltungssystems (z. B. ServiceNow) oder eines anderen Systems in Google Cloud Deploy mit Pub/Sub und der Google Cloud Deploy API verwaltet werden.

Genehmigung erforderlich

Wenn Sie eine Genehmigung für ein beliebiges Ziel erzwingen 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 Bereitstellungspipeline.

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

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 Google Cloud Deploy eine Pub/Sub-Nachricht im Thema cd-approvals.

Jeder Nutzer oder jedes Dienstkonto mit der Rolle roles/clouddeploy.approver kann einen Rollout von Google Cloud Deploy 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 Google Cloud Deploy API genehmigen oder ablehnen.

Manuell genehmigen oder ablehnen

Console

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

    Zur Seite der Lieferpipelines

    Die Liste der Bereitstellungspipelines wird in der Google Cloud Console angezeigt. Lieferpipelines, die konfiguriert wurden, aber nicht beim Google Cloud-Bereitstellungsdienst 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 „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 Anfrage ablehnen, wird die Anwendung nicht bereitgestellt und kann später nicht genehmigt werden, es sei denn, sie wird noch einmal hochgestuft.

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

Ablehnung:

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