Builds bei Genehmigung sperren

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

  • Enable the Cloud Build API.

    Enable the 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.

    Der Bereich Zugriff gewähren wird angezeigt.

  3. Fügen Sie im Bereich Hauptkonten hinzufügen Nutzer hinzu, für die Sie Berechtigungen erteilen möchten. Genehmigung für ausstehende Builds in Ihrem Projekt erteilen.

    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 Abschnitt 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, wird die Genehmigung durch die Richtlinie überschrieben. Weitere Informationen finden Sie unter Gate-Builds auf Organisationsrichtlinien.

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 das Unternehmen Richtlinie zum Definieren von Builds für zulässige Integrationen (constraints/cloudbuild.allowedIntegrations) festgelegt ist, wird die Richtlinie die Genehmigung außer Kraft setzen. Weitere Informationen finden Sie unter Organisation wird angewendet Richtlinie zum Erstellen von Triggern.

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