Gate baut auf Genehmigung auf

Mit Cloud Build können Sie Trigger konfigurieren, die keinen Build sofort ausführen, sondern einen Build bis zur Genehmigung als ausstehend markieren. Wenn ein Nutzer mit Berechtigungen einen ausstehenden Build genehmigt, wird der Build gestartet. Wenn die Genehmigung verweigert wird, wird der Build nicht gestartet.

Auf dieser Seite wird erläutert, wie Sie Builds manuell genehmigen oder ablehnen können. Informationen zum Konfigurieren eines Triggers, der eine Genehmigung erfordert, finden Sie unter Build-Trigger erstellen.

Hinweise

  • Cloud Build API aktivieren.

    Aktivieren Sie die API

  • Installieren Sie die Google Cloud CLI.

  • Falls dies noch nicht geschehen, erstellen Sie einen Build-Trigger, der so konfiguriert ist, dass eine Genehmigung erforderlich ist.

Berechtigungen gewähren

Wenn ein Nutzer die Rolle Cloud Build-Bearbeiter hat, kann er festlegen, ob ein Trigger eine Genehmigung erfordert oder nicht. Weitere Informationen zu Cloud Build-Berechtigungen finden Sie unter IAM und Berechtigungen. Um einem Nutzer die Berechtigung zum Genehmigen von Builds in Ihrem Projekt zu erteilen, muss der Nutzer die Rolle Cloud Build-Genehmiger haben.

So fügen Sie die Rolle Cloud Build-Genehmiger hinzu:

  1. Öffnen Sie in der Google Cloud Console die Seite IAM.

    Seite "IAM" öffnen

  2. Klicken Sie auf Zugriff erlauben.

    Das Steuerfeld Zugriff gewähren wird angezeigt.

  3. Fügen Sie im Abschnitt Hauptkonten hinzufügen Nutzer hinzu, um ihnen die Berechtigung zu erteilen, ausstehende Builds in Ihrem Projekt zu genehmigen.

    In diesem Abschnitt müssen Sie ein oder mehrere Hauptkonten hinzufügen. Wenn Sie sich als Hauptkonto hinzufügen, müssen Sie dennoch einen ausstehenden Build manuell genehmigen, wenn Ihr Trigger durch eine Genehmigung gesteuert wird.

  4. Wählen Sie im Bereich Rollen zuweisen die Option Cloud Build > Cloud Build-Genehmiger aus.

Die von Ihnen angegebenen Nutzer haben jetzt Zugriff auf die Genehmigung oder Ablehnung von ausstehenden Builds.

Builds genehmigen

Console

So genehmigen Sie einen ausstehenden Build in der Google Cloud Console:

  1. Öffnen Sie in der Google Cloud Console die Seite Cloud Build-Dashboard.

    Cloud Build-Dashboard-Seite öffnen

  2. Wenn Sie die Builds genehmigen müssen, wird oben auf der Seite eine Meldung mit der Anzahl der Builds angezeigt, die Sie genehmigen müssen. Klicken Sie rechts neben der Nachricht auf Builds ansehen, um die Liste der Builds aufzurufen, die Sie genehmigen müssen.

  3. Klicken Sie auf die Kästchen der Builds, die Sie genehmigen möchten. Sie können mehrere Builds auswählen, die genehmigt werden sollen, oder einen einzelnen Build, der genehmigt werden soll.

  4. Klicken Sie oben auf der Seite auf Genehmigen, um die ausgewählten Builds zu genehmigen.

  5. Vor dem Start des Builds wird das Dialogfeld Build genehmigen angezeigt. Im Dialogfeld können Sie eine optionale Nachricht und eine URL hinzufügen, die zusammen mit der Genehmigung des Builds angezeigt wird. Zum Hinzufügen einer URL klicken Sie auf Zusätzliche Optionen anzeigen, um eine URL einzugeben.

  6. Klicken Sie im Dialogfeld auf Genehmigen, um den Build zu genehmigen.

Sobald Sie ihn genehmigt haben, startet der Build sofort. Wenn die Organisationsrichtlinie (constraints/cloudbuild.allowedIntegrations) den Zugriff auf das verbundene Repository verweigert, überschreibt die Richtlinie die Genehmigung. Weitere Informationen finden Sie unter Gate-Builds auf Organisationsrichtlinie.

gcloud

Führen Sie den folgenden Befehl im Terminalfenster aus, um einen ausstehenden Build mit gcloud commands zu genehmigen:

gcloud builds approve BUILD_ID \
  --project=PROJECT_ID \
  --url=URL \
  --comment=COMMENT

Ersetzen Sie die Platzhalterwerte in den obigen Befehlen durch Folgendes:

  • BUILD_ID ist die ID des Builds, den Sie genehmigen möchten.
  • PROJECT_ID ist die Projekt-ID.
  • [Optional] URL ist die URL, die Informationen zur Genehmigung enthält, z. B. einen Link zu einem JIRA-Ticket.
  • [Optional] COMMENT ist die Nachricht, die nach der Genehmigung des Builds angezeigt werden soll.

Sobald Sie ihn genehmigt haben, startet der Build sofort. Wenn die Organisationsrichtlinie zum Definieren von Builds für zulässige Integrationen (constraints/cloudbuild.allowedIntegrations) festgelegt ist, überschreibt die Richtlinie die Genehmigung. Weitere Informationen finden Sie unter Organisationsrichtlinie zum Erstellen von Triggern anwenden.

Builds ablehnen

Console

So lehnen Sie einen ausstehenden Build in der Google Cloud Console ab:

  1. Öffnen Sie in der Google Cloud Console die Seite Cloud Build-Dashboard.

    Cloud Build-Dashboard-Seite öffnen

  2. Wenn Sie die Builds genehmigen müssen, wird oben auf der Seite eine Meldung mit der Anzahl der Builds angezeigt, die Sie genehmigen müssen. Klicken Sie rechts neben der Nachricht auf Builds ansehen, um die Liste der Builds aufzurufen, die Sie genehmigen müssen.

  3. Sie können mehrere Builds auswählen, die abgelehnt werden sollen, oder einen einzelnen Build, der abgelehnt werden soll. Klicken Sie auf die Kästchen der Builds, die Sie ablehnen möchten.

  4. Klicken Sie oben auf der Seite auf Ablehnen, um den Build abzulehnen.

Wenn Sie einen Build ablehnen, wird der Build nicht gestartet.

gcloud

Führen Sie den folgenden Befehl in Ihrem Terminalfenster aus, um einen ausstehenden Build mit gcloud commands abzulehnen:

gcloud builds reject BUILD_ID \
  --project=PROJECT_ID \
  --url=URL \
  --comment=COMMENT

Ersetzen Sie die Platzhalterwerte in den obigen Befehlen durch Folgendes:

  • BUILD_ID ist die ID des Builds, den Sie ablehnen möchten.
  • PROJECT_ID ist die Projekt-ID.
  • [Optional] URL ist die URL, die Informationen zur Ablehnung enthält, z. B. einen Link zu einem JIRA-Ticket.
  • [Optional] COMMENT ist die Nachricht, die nach der Ablehnung des Builds angezeigt werden soll.

Wenn Sie einen Build ablehnen, wird der Build nie gestartet.

Benachrichtigungen für Builds erhalten, die auf Genehmigung warten

Sie können Cloud Build-Notifier verwenden, um Benachrichtigungen über ausstehende Builds zu erhalten. Verwenden Sie dazu einen von Cloud Build verwalteten Notifier, z. B. Slack oder SMTP-Server. Sie können aber auch Ihren eigenen Notifier erstellen.

So konfigurieren Sie Benachrichtigungen:

  1. Folgen Sie der Anleitung auf einer der folgenden Seiten, um Benachrichtigungen für Ihren gewünschten Dienst zu konfigurieren:

  2. Wenn Sie Benachrichtigungen mit einer der oben genannten Seiten konfigurieren, müssen Sie den Notifier so konfigurieren, dass Builds mit dem Status PENDING gefiltert werden. Dadurch werden Sie Benachrichtigungen zu Builds erhalten, die auf die Genehmigung warten. In der folgenden Beispiel-SMTP-Notifier-Konfigurationsdatei verwendet das Filterfeld Common Expression Language (CEL), um Build-Ereignisse mit dem Status PENDING zu filtern:

    apiVersion: cloud-build-notifiers/v1
    kind: SMTPNotifier
    metadata:
      name: example-smtp-notifier
    spec:
      notification:
        filter: build.status == Build.Status.PENDING
        delivery:
          server: example.gmail.com
          port: 0000
          sender: sender@example.com
          ...
    

    Das vollständige Beispiel finden Sie in der Konfigurationsdatei für Notifier für die SMTP-Notifier.

  3. Führen Sie den Befehl gcloud run in Ihrem Terminal aus, um den Notifier bereitzustellen. Im folgenden Beispiel wird der SMTP-Notifier mit Cloud Run bereitgestellt.

    gcloud run deploy example.gmail.com \
      --image=us-east1-docker.pkg.dev/gcb-release/cloud-build-notifiers/smtp:latest \
      --update-env-vars=CONFIG_PATH=smtp.yaml, PROJECT_ID=my-project
    

Sie sollten jetzt Benachrichtigungen für ausstehende Builds an Ihren Dienst erhalten.

Nächste Schritte