Konfiguration für Benachrichtigungen automatisieren

Sie können Cloud Build so konfigurieren, dass Sie Build-Benachrichtigungen mit Cloud Build-Benachrichtigungen an Slack, einen SMTP-Server, einen HTTP-Endpunkt oder eine BigQuery-Instanz senden. Auf dieser Seite wird erläutert, wie Sie den Konfigurationsprozess für den gewünschten Notifier automatisieren können.

Benachrichtigungskonfiguration automatisieren

Cloud Build bietet ein Einrichtungsskript, mit dem Sie die Benachrichtigungskonfiguration automatisieren können. So konfigurieren Sie Benachrichtigungen mit dem Einrichtungsskript:

Slack

Einrichten

In den folgenden Abschnitten werden die Schritte beschrieben, die Sie ausführen müssen, bevor Sie die Benachrichtigungskonfiguration für den Notifier automatisieren.

APIs werden aktiviert

Cloud Build, Compute Engine, Cloud Run, Pub/Sub, and Secret Manager APIs aktivieren.

Aktivieren Sie die APIs

Anmeldedaten abrufen und speichern

  1. Erstellen Sie eine Slack-Anwendung für den Slack-Arbeitsbereich, an den Sie Benachrichtigungen senden möchten.

  2. Aktivieren Sie eingehende Webhooks, um Nachrichten von Cloud Build in Slack zu posten.

  3. Gehen Sie zur Slack-Anwendung, um die URL für den eingehenden Webhook zu finden. Die URL sieht in etwa so aus:

    http://hooks.slack.com/services/...
    
  4. Speichern Sie Ihre eingehende Webhook-URL im Secret Manager:

    1. Öffnen Sie die Seite „Secret Manager“ in der Google Cloud Console:

      Zur Seite „Secret Manager“

    2. Klicken Sie auf Secret erstellen.

    3. Geben Sie einen Namen für das Secret ein.

    4. Fügen Sie unter Secret-Wert Ihre eingehende Webhook-URL für Ihre Slack-Anwendung hinzu.

    5. Klicken Sie zum Speichern Ihres Secrets auf Secret erstellen.

Berechtigungen gewähren

Cloud Run führt die Notifier-Images mit dem Compute Engine-Standarddienstkonto aus. Damit das Dienstkonto das Secret von Secret Manager abrufen kann, müssen Sie dem Dienstkonto die Rolle AccessSecret Accessor“ für Secret Manager zuweisen:

Gewähren Sie Ihrem Cloud Run-Dienstkonto Zugriff auf Ihr Secret:

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

    Seite "IAM" öffnen

  2. Suchen Sie das Compute Engine-Standarddienstkonto, das mit Ihrem Projekt verknüpft ist:

    Ihr Compute Engine-Standarddienstkonto sieht in etwa so aus, wobei project-number Ihre Projektnummer ist:

    project-number-compute@developer.gserviceaccount.com
    

    Notieren Sie sich das Compute Engine-Standarddienstkonto.

  3. Öffnen Sie die Seite "Secret Manager" in der Google Cloud Console:

    Zur Seite "Secret Manager"

  4. Klicken Sie auf den Secret-Namen, der Ihr Secret enthält.

  5. Klicken Sie auf dem Tab Berechtigungen auf Hauptkonto hinzufügen.

  6. Fügen Sie das mit Ihrem Projekt verknüpfte Compute Engine-Standarddienstkonto hinzu.

  7. Wählen Sie Secret Manager Accessor als Rolle aus.

  8. Klicken Sie auf Speichern.

Notifier-Konfigurationsdatei schreiben

Schreiben Sie eine Konfigurationsdatei, um Ihren Slack-Notifier zu konfigurieren und nach Build-Ereignissen zu filtern:

In der folgenden Konfigurationsdatei für Notifier wird im Feld filter die Option Common Expression Language mit der verfügbaren Variable build verwendet, um Build-Ereignisse mit dem Status SUCCESS zu filtern:

  apiVersion: cloud-build-notifiers/v1
  kind: SlackNotifier
  metadata:
    name: example-slack-notifier
  spec:
    notification:
      filter: build.status == Build.Status.SUCCESS
      delivery:
        webhookUrl:
          secretRef: webhook-url
    secrets:
    - name: webhook-url
       value: projects/project-id/secrets/secret-name/versions/latest

Hierbei gilt:

  • webhook-url ist die Konfigurationsvariable, die in diesem Beispiel verwendet wird, um auf den Slack-Webhook-URL-Pfad zu verweisen, der in Secret Manager gespeichert ist. Der hier angegebene Variablenname sollte dem Feld name unter secrets entsprechen.
  • project-id ist die ID Ihres Cloud-Projekts.
  • secret-name ist der Name Ihres Secrets, das Ihre Slack-Webhook-URL enthält.

Das Beispiel finden Sie in der entsprechenden Notifier-Konfigurationsdatei für den Slack-Notifier.

Automatisierungsskript ausführen

So automatisieren Sie die Benachrichtigungskonfiguration Ihres Notifiers:

  1. Klonen Sie das Repository für Cloud-Build-Notifier.

  2. Führen Sie den folgenden Befehl im Stammverzeichnis des Repositorys aus:

     ./setup.sh notifier config-path secret-name
    

    Wobei:

    • notifier ist der Name des Notifiers, z. B. slack, smtp, bigquery oder http.
    • config-path ist der Pfad zu Ihrer Konfigurationsdatei für den Notifier.
    • secret-name ist der Name des im Secret Manager gespeicherten Secrets.

Nach der Ausführung des Skripts wird folgende Meldung angezeigt:

** NOTIFIER SETUP COMPLETE **

Der Notifier ist jetzt eingerichtet. Sie können das vollständige Skript im Repository cloudcloud-build-notifiers“ ansehen oder ./setup.sh --help für Nutzungsanweisungen ausführen, die mit dem Skript verknüpft sind.

Intra-domain Email

Einrichten

In den folgenden Abschnitten werden die Schritte beschrieben, die Sie ausführen müssen, bevor Sie die Benachrichtigungskonfiguration für den Notifier automatisieren.

APIs werden aktiviert

Cloud Build, Compute Engine, Cloud Run, Pub/Sub, and Secret Manager APIs aktivieren.

Aktivieren Sie die APIs

Anmeldedaten speichern

  1. Speichern Sie das Passwort für das E-Mail-Konto des Absenders in Secret Manager:

  2. Öffnen Sie die Seite „Secret Manager“ in der Google Cloud Console:

    Zur Seite „Secret Manager“

  3. Klicken Sie auf Secret erstellen.

  4. Geben Sie einen Namen für das Secret ein.

  5. Fügen Sie unter Secret-Wert das E-Mail-Konto-Passwort des Absenders hinzu.

  6. Klicken Sie zum Speichern Ihres Secrets auf Secret erstellen.

Berechtigungen gewähren

Cloud Run führt die Notifier-Images mit dem Compute Engine-Standarddienstkonto aus. Damit das Dienstkonto das Secret von Secret Manager abrufen kann, müssen Sie dem Dienstkonto die Rolle AccessSecret Accessor“ für Secret Manager zuweisen:

Gewähren Sie Ihrem Cloud Run-Dienstkonto Zugriff auf Ihr Secret:

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

    Seite "IAM" öffnen

  2. Suchen Sie das Compute Engine-Standarddienstkonto, das mit Ihrem Projekt verknüpft ist:

    Ihr Compute Engine-Standarddienstkonto sieht in etwa so aus, wobei project-number Ihre Projektnummer ist:

    project-number-compute@developer.gserviceaccount.com
    

    Notieren Sie sich das Compute Engine-Standarddienstkonto.

  3. Öffnen Sie die Seite "Secret Manager" in der Google Cloud Console:

    Zur Seite "Secret Manager"

  4. Klicken Sie auf den Secret-Namen, der Ihr Secret enthält.

  5. Klicken Sie auf dem Tab Berechtigungen auf Hauptkonto hinzufügen.

  6. Fügen Sie das mit Ihrem Projekt verknüpfte Compute Engine-Standarddienstkonto hinzu.

  7. Wählen Sie Secret Manager Accessor als Rolle aus.

  8. Klicken Sie auf Speichern.

Notifier-Konfigurationsdatei schreiben

Schreiben Sie eine Notifier-Konfigurationsdatei, um Ihren SMTP-Notifier zu konfigurieren und nach Build-Ereignissen zu filtern:

In der folgenden Konfigurationsdatei für Notifier wird im Feld filter die Option Common Expression Language mit der verfügbaren Variable build verwendet, um Build-Ereignisse mit dem Status SUCCESS zu filtern:

 apiVersion: cloud-build-notifiers/v1
 kind: SMTPNotifier
 metadata:
   name: example-smtp-notifier
 spec:
   notification:
     filter: build.status == Build.Status.SUCCESS
     delivery:
       server: server-host-name
       port: "port"
       sender: sender-email
       from: from-email
       recipients:
         - recipient-email
         # optional: more emails here
       password:
         secretRef: smtp-password
   secrets:
   - name: smtp-password
     value: projects/project-id/secrets/secret-name/versions/latest

Wobei:

  • server-host-name ist die Adresse Ihres SMTP-Servers.
  • port ist der Port, der SMTP-Anfragen verarbeitet. Dieser Wert sollte als String angegeben werden.
  • sender-email ist die E-Mail-Adresse des Absenderkontos, die dem angegebenen server-host-name angezeigt wird.
  • from-email ist die E-Mail-Adresse, die für Empfänger angezeigt wird.
  • recipient-email ist eine Liste mit einer oder mehreren E-Mail-Adressen, um Nachrichten vom Absender zu empfangen.
  • smtp-password ist die Konfigurationsvariable, die in diesem Beispiel verwendet wird, um auf das im Secret Manager gespeicherte E-Mail-Konto-Passwort des Absenders zu verweisen. Der hier angegebene Variablenname sollte dem Feld name unter secrets entsprechen.
  • project-id ist die ID Ihres Cloud-Projekts.
  • secret-name ist der Name Ihres Secrets, das das Passwort für das E-Mail-Konto des Absenders enthält.

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

Automatisierungsskript ausführen

So automatisieren Sie die Benachrichtigungskonfiguration Ihres Notifiers:

  1. Klonen Sie das Repository für Cloud-Build-Notifier.

  2. Führen Sie den folgenden Befehl im Stammverzeichnis des Repositorys aus:

     ./setup.sh notifier config-path secret-name
    

    Wobei:

    • notifier ist der Name des Notifiers, z. B. slack, smtp, bigquery oder http.
    • config-path ist der Pfad zu Ihrer Konfigurationsdatei für den Notifier.
    • secret-name ist der Name des im Secret Manager gespeicherten Secrets.

Nach der Ausführung des Skripts wird folgende Meldung angezeigt:

** NOTIFIER SETUP COMPLETE **

Der Notifier ist jetzt eingerichtet. Sie können das vollständige Skript im Repository cloudcloud-build-notifiers“ ansehen oder ./setup.sh --help für Nutzungsanweisungen ausführen, die mit dem Skript verknüpft sind.

BigQuery

Einrichten

In den folgenden Abschnitten werden die Schritte beschrieben, die Sie ausführen müssen, bevor Sie die Benachrichtigungskonfiguration für den Notifier automatisieren.

APIs werden aktiviert

Cloud Build, Cloud Run, Pub/Sub, and BigQuery APIs aktivieren.

Aktivieren Sie die APIs

Berechtigungen gewähren

Gewähren Sie Ihrem Cloud Run-Dienstkonto die Berechtigung zum Erstellen und Schreiben von BigQuery-Tabellen und zum Abrufen von Artifact Registry-Daten zu Ihrem Build:

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

    Seite "IAM" öffnen

  2. Suchen Sie das Compute Engine-Standarddienstkonto, das mit Ihrem Projekt verknüpft ist:

    Ihr Compute Engine-Standarddienstkonto sieht in etwa so aus, wobei project-number Ihre Projektnummer ist:

        project-number-compute@developer.gserviceaccount.com
    
  3. Klicken Sie auf das Stiftsymbol in der Zeile mit Ihrem Compute Engine-Standarddienstkonto.

    Der Tab Berechtigungen bearbeiten wird angezeigt.

    1. Klicken Sie auf Weitere Rolle hinzufügen.

    2. Fügen Sie die folgenden Rollen hinzu:

      • Artifact Registry-Leser
      • BigQuery-Dateneditor

        Mit der Rolle Artifact Registry-Leser können Sie Daten für Ihre Images abrufen. Der BigQuery-Dateneditor bietet Lese- und Schreibzugriff auf Ihre Daten.

    3. Klicken Sie auf Speichern.

Notifier-Konfigurationsdatei schreiben

Schreiben Sie eine Notifier-Konfigurationsdatei, um Ihren BigQuery-Notifier zu konfigurieren und nach Build-Ereignissen zu filtern:

In der folgenden Beispiel-Notifier-Konfigurationsdatei verwendet das Feld filter die Common Expression Language mit der Variable build, um Build-Ereignisse mit einer angegebenen Trigger-ID zu filtern:

 apiVersion: cloud-build-notifiers/v1
 kind: BigQueryNotifier
 metadata:
   name: example-bigquery-notifier
 spec:
   notification:
     filter: build.build_trigger_id == "123e4567-e89b-12d3-a456-426614174000"
     delivery:
       table: projects/project-id/datasets/dataset-name/tables/table-name

Wobei:

  • project-id ist die ID Ihres Cloud-Projekts.
  • dataset-name ist der Name, den Sie dem Dataset geben möchten.
  • table-name ist der Name, den Sie der Tabelle geben möchten.

Das table-name in Ihrer Notifier-Konfigurationsdatei kann auf folgende Elemente verweisen:

  • Eine nicht vorhandene Tabelle
  • Eine leere Tabelle ohne Schema
  • Eine vorhandene Tabelle mit einem Schema, das den Schemaspezifikationen in dem BigQuery-Notifier entspricht

Das Beispiel finden Sie in der Konfigurationsdatei für Notifier für den BigQuery-Notifier.

Automatisierungsskript ausführen

So automatisieren Sie die Benachrichtigungskonfiguration Ihres Notifiers:

  1. Klonen Sie das Repository für Cloud-Build-Notifier.

  2. Führen Sie den folgenden Befehl im Stammverzeichnis des Repositorys aus:

     ./setup.sh notifier config-path
    

    Wobei:

    • notifier ist der Name des Notifiers, z. B. slack, smtp, bigquery oder http.
    • config-path ist der Pfad zu Ihrer Konfigurationsdatei für den Notifier.

Nach der Ausführung des Skripts wird folgende Meldung angezeigt:

** NOTIFIER SETUP COMPLETE **

Der Notifier ist jetzt eingerichtet. Sie können das vollständige Skript im Repository cloudcloud-build-notifiers“ ansehen oder ./setup.sh --help für Nutzungsanweisungen ausführen, die mit dem Skript verknüpft sind.

HTTP

Einrichten

In den folgenden Abschnitten werden die Schritte beschrieben, die Sie ausführen müssen, bevor Sie die Benachrichtigungskonfiguration für den Notifier automatisieren.

APIs werden aktiviert

Cloud Build, Cloud Run, and Pub/Sub APIs aktivieren.

Aktivieren Sie die APIs

Notifier-Konfigurationsdatei schreiben

Schreiben Sie eine Konfigurationsdatei, um Ihren HTTP-Notifier zu konfigurieren und Build-Ereignisse zu filtern:

In der folgenden Konfigurationsdatei für Notifier wird im Feld filter die Option Common Expression Language mit der verfügbaren Variable build verwendet, um Build-Ereignisse mit dem Status SUCCESS zu filtern:

    apiVersion: cloud-build-notifiers/v1
    kind: HTTPNotifier
    metadata:
      name: example-http-notifier
    spec:
      notification:
        filter: build.status == Build.Status.SUCCESS
        delivery:
          # The `http(s)://` protocol prefix is required.
          url: url

Wobei:

  • url ist die Konfigurationsvariable, die in diesem Beispiel verwendet wird, um die URL für Ihre Anfrage anzugeben.
  • url ist die URL, die Sie als Empfängerserver angeben möchten.

Das Beispiel finden Sie in der entsprechenden Konfigurationsdatei für den HTTP-Notifier.

Automatisierungsskript ausführen

So automatisieren Sie die Benachrichtigungskonfiguration Ihres Notifiers:

  1. Klonen Sie das Repository für Cloud-Build-Notifier.

  2. Führen Sie den folgenden Befehl im Stammverzeichnis des Repositorys aus:

     ./setup.sh notifier config-path
    

    Wobei:

    • notifier ist der Name des Notifiers, z. B. slack, smtp, bigquery oder http.
    • config-path ist der Pfad zu Ihrer Konfigurationsdatei für den Notifier.

Nach der Ausführung des Skripts wird folgende Meldung angezeigt:

** NOTIFIER SETUP COMPLETE **

Der Notifier ist jetzt eingerichtet. Sie können das vollständige Skript im Repository cloudcloud-build-notifiers“ ansehen oder ./setup.sh --help für Nutzungsanweisungen ausführen, die mit dem Skript verknüpft sind.

Nächste Schritte