Build-Benachrichtigungen abonnieren

Wenn sich der Build-Status ändert, veröffentlicht Cloud Build Nachrichten in einem Google Pub/Sub-Thema. Dies ist beispielsweise der Fall, wenn der Build erstellt wird, in einen funktionsfähigen Zustand wechselt oder abgeschlossen wird. Jede Nachricht enthält im Attribut message.data eine base64-JSON-String-Darstellung Ihrer Build-Ressource. Die eindeutige ID des Builds und den Status des Builds finden Sie im Feld message.attributes.

Standardmäßig werden Nachrichten im Thema cloud-builds veröffentlicht. Sie können auch einen benutzerdefinierten Themennamen im Feld options.pubsubTopic Ihrer Build-Konfigurationsdatei angeben. Weitere Informationen zum Konfigurieren von Themennamen in Ihrer Build-Konfigurationsdatei finden Sie unter Pub/Sub-Themen für Build-Benachrichtigungen.

Sie können für Ihre Pub/Sub-Abos ein Push- oder Pull-Modell verwenden.

Build-Benachrichtigungen erhalten

So erhalten Sie Build-Benachrichtigungen:

  1. Aktivieren Sie die Cloud Build API

    Cloud Build API aufrufen

    Wenn Sie die Cloud Build API aktivieren, wird das Dienstkonto Cloud Build Service Agent automatisch Ihrem Projekt hinzugefügt. Mit dem Dienstkonto können Sie Build-Benachrichtigungen von Pub/Sub erhalten.

    Das Dienstkonto hat das folgende Format, wobei project-number Ihre Projektnummer ist:

     service-project-number@gcp-sa-cloudbuild.iam.gserviceaccount.com
    

    Wenn Sie das Dienstkonto Cloud Build Service Agent nicht auf Ihrer IAM-Seite sehen oder keine Benachrichtigungen von Pub/Sub erhalten können, führen Sie die folgenden Schritte aus, um das Dienstkonto Cloud Build Service Agent zu Ihrem Projekt hinzuzufügen:

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

      Seite "IAM" öffnen

    2. Klicken Sie auf Zugriff erlauben.

    3. Fügen Sie das folgende Hauptkonto hinzu, wobei project-number Ihre Projektnummer ist:

      service-project-number@gcp-sa-cloudbuild.iam.gserviceaccount.com
      
    4. Wählen Sie Service Management > Cloud Build-Dienst-Agent als Rolle aus.

    5. Klicken Sie auf Speichern.

  2. Pub/Sub API aktivieren:

    Pub/Sub API aktivieren

  3. Erstellen Sie das Thema cloud-builds:

    gcloud pubsub topics create cloud-builds
    

    Sie können auch einen benutzerdefinierten Themennamen in Ihrer Build-Konfigurationsdatei definieren, damit Nachrichten stattdessen an das benutzerdefinierte Thema gesendet werden. In diesem Fall erstellen Sie ein Thema mit demselben benutzerdefinierten Themennamen:

    gcloud pubsub topics create topic-name
    

    Weitere Informationen finden Sie unter Pub/Sub-Themen für Build-Benachrichtigungen.

    Weitere Informationen zum Verwalten von Pub/Sub-Themen finden Sie unter Themen und Abos verwalten.

Push-Abos

Push-Abonnements liefern Nachrichten an einen von Ihnen definierten HTTP-Endpunkt. Die Übertragung der Nachrichten erfolgt, sobald sie im Thema veröffentlicht wurden.

Von Push-Abonnements gesendete Nachrichten sehen so aus:

{
  "message": {
    "attributes": {
      "buildId": "abcd-efgh...",
      "status": "SUCCESS"
    },
    "data": "SGVsbG8gQ2xvdWQgUHViL1N1YiEgSGVyZSBpcyBteSBtZXNzYWdlIQ==",
    "message_id": "136969346945"
  },
  "subscription": "projects/myproject/subscriptions/mysubscription"
}

Abos abrufen

Pull-Abonnements liefern Nachrichten, wenn sie von der abonnierenden Anwendung abgerufen werden. Die Nachrichten werden beim Abrufen des Abonnements gesendet.

Von Pull-Abonnements gesendete Nachrichten sehen so aus:

{
  "receivedMessages": [
    {
      "ackId": "dQNNHlAbEGEIBERNK0EPKVgUWQYyODM2LwgRHFEZDDsLRk1SK...",
      "message": {
        "attributes": {
          "buildId": "abcd-efgh-...",
          "status": "SUCCESS"
        },
        "data": "SGVsbG8gQ2xvdWQgUHViL1N1YiEgSGVyZSBpcyBteSBtZXNzYWdlIQ==",
        "messageId": "19917247034"
      }
    }
  ]
}

Benachrichtigungen zu Build-Updates abonnieren

Sie haben mehrere Möglichkeiten, Build-Update-Benachrichtigungen zu abonnieren. Sie können beispielsweise Nachrichten per Push an einen Endpunkt übertragen oder eine Python-Anwendung zum Abfragen des Abos schreiben.

Wie Sie Pub/Sub-Abos für Build-Updates einrichten, erfahren Sie im Pub/Sub-Abonnentenleitfaden. Sie können darüber hinaus auch etwas über die Nutzung von Pub/Sub-Clientbibliotheken erfahren, die das Entwickeln von Abonnentenanwendungen erleichtern.

Informationen zum Senden von Build-Updates per E-Mail oder an Dienste wie Slack mit Pub/Sub finden Sie unter Cloud Build-Notifier.