Builds genehmigen

Mit Cloud Build können Sie Trigger konfigurieren, die einen Build nicht sofort ausführen, sondern erst nach seiner 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. Informationen zum Konfigurieren eines Triggers, der genehmigt werden muss, finden Sie unter Build-Trigger erstellen.

Hinweis

  • Aktivieren Sie die Cloud Build API.

    Aktivieren Sie die API

  • Installieren Sie das Cloud SDK.

  • Erstellen Sie einen Build-Trigger, für den eine Genehmigung erforderlich ist, falls noch nicht geschehen.

Berechtigungen gewähren

Wenn ein Nutzer die Rolle "Cloud Build-Bearbeiter" hat, kann er einen Trigger aktualisieren, sodass dieser genehmigt werden muss oder nicht. Weitere Informationen zu Cloud Build-Berechtigungen finden Sie unter IAM und Berechtigungen. Damit ein Nutzer die Berechtigung zum Genehmigen von Builds in Ihrem Projekt erteilen kann, muss der Nutzer die Rolle Cloud Build-Genehmiger haben.

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

  1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

    Seite "IAM" öffnen

  2. Klicken Sie auf Add.

    Sie sehen das Steuerfeld Hauptkonten hinzufügen.

  3. Fügen Sie im Abschnitt Neue Hauptkonten Nutzer hinzu, um ihnen die Berechtigung zu gewähren, ausstehende Builds in Ihrem Projekt zu genehmigen.

    Sie müssen in diesem Abschnitt ein oder mehrere Hauptkonten hinzufügen. Wenn Sie sich selbst als Hauptkonto hinzufügen, müssen Sie trotzdem einen ausstehenden Build manuell genehmigen, wenn der Trigger durch eine Genehmigung geleitet wird.

  4. Wählen Sie im Abschnitt Rolle die Option Cloud Build > Cloud Build-Genehmiger aus.

Die von Ihnen angegebenen Nutzer können jetzt ausstehende Builds genehmigen oder ablehnen.

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.

    Zur Seite "Cloud Build-Dashboard"

  2. Wenn Builds zu genehmigen sind, wird oben auf der Seite eine Meldung mit der Anzahl der Builds angezeigt, die genehmigt werden müssen. Klicken Sie rechts neben der Nachricht auf Build-Ansicht, um die Liste der Builds anzuzeigen, die Sie genehmigen müssen.

  3. Klicken Sie die Kästchen der Builds an, die Sie genehmigen möchten. Sie können mehrere Builds zur Genehmigung oder einen einzelnen Build zur Genehmigung auswählen.

  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 werden. Klicken Sie auf Zusätzliche Optionen anzeigen, um eine URL anzugeben.

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

Nach der Genehmigung beginnt der Build sofort.

gcloud

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

gcloud alpha 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 mit Informationen zur Genehmigung, z. B. ein Link zu einem JIRA-Ticket.
  • [Optional] COMMENT ist die Nachricht, die nach der Genehmigung des Builds angezeigt werden soll.

Nach der Genehmigung beginnt der Build sofort.

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.

    Zur Seite "Cloud Build-Dashboard"

  2. Wenn Builds zu genehmigen sind, wird oben auf der Seite eine Meldung mit der Anzahl der Builds angezeigt, die genehmigt werden müssen. Klicken Sie rechts neben der Nachricht auf Build-Ansicht, um die Liste der Builds anzuzeigen, die Sie genehmigen müssen.

  3. Sie können mehrere Builds zur Ablehnung oder einen einzelnen Build zur Ablehnung auswählen. Klicken Sie die Kästchen der Builds an, die Sie ablehnen möchten.

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

Wenn Sie einen Build ablehnen, wird er nicht gestartet.

gcloud

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

gcloud alpha 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 mit Informationen zur Ablehnung, z. B. einem Link zu einem JIRA-Ticket.
  • [Optional] COMMENT ist die Nachricht, die angezeigt werden soll, wenn der Build abgelehnt wird.

Wenn Sie einen Build ablehnen, wird er nie gestartet.

Benachrichtigungen für Builds empfangen, die noch genehmigt werden müssen

Sie können Cloud Build-Benachrichtigungen verwenden, um Benachrichtigungen zu ausstehenden Builds mit einem von Cloud Build verwalteten Notifier wie Slack oder SMTP-Server oder von {101 zu erhalten } Ihren eigenen Notifier erstellen.

So konfigurieren Sie Benachrichtigungen:

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

  2. Wenn Sie Benachrichtigungen auf einer der oben genannten Seiten konfigurieren, müssen Sie den Notifier so konfigurieren, dass Builds mit dem Status PENDING gefiltert werden. Dadurch werden Sie über Builds benachrichtigt, die noch nicht genehmigt wurden. Im folgenden Beispiel für eine SMTP-Notifier-Konfigurationsdatei verwendet das Filterfeld die 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 Notifier-Konfigurationsdatei für den SMTP-Notifier.

  3. Führen Sie den gcloud run-Befehl 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 bei Ihrem Dienst erhalten.

Nächste Schritte