Build-Benachrichtigungen abonnieren

Cloud Build veröffentlicht Nachrichten in einem Google Pub/Sub-Thema, wenn sich der Status Ihres Builds ändert, z. B. wenn Ihr Build erstellt wird, wenn Ihr Build in einen Arbeitsstatus wechselt und wenn Ihr Build abgeschlossen ist. Jede Nachricht enthält eine Base64-JSON-Stringdarstellung Ihrer Build-Ressource im Attribut message.data. Die eindeutige ID des Builds und der Status des Builds finden Sie im Feld message.attributes.

Standardmäßig werden Nachrichten im Thema cloud-builds veröffentlicht. Sie können aber 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

    In den meisten Fällen wird das Dienstkonto Cloud Build-Dienst-Agent automatisch Ihrem Projekt hinzugefügt, wenn Sie die Cloud Build API aktivieren. 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.
    

    Wenn das Dienstkonto Cloud Build-Dienst-Agent nicht auf Ihrer IAM-Seite angezeigt wird oder Sie keine Benachrichtigungen von Pub/Sub erhalten können, führen Sie die folgenden Schritte aus, um das Dienstkonto Cloud Build-Dienst-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.
      
    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 in Ihrer Build-Konfigurationsdatei auch einen benutzerdefinierten Themennamen 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==",
    "messageId": "136969346945"
  },
  "subscription": "projects/myproject/subscriptions/mysubscription"
}

Pull-Abos

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 verschiedene Möglichkeiten, Benachrichtigungen zu Build-Updates zu abonnieren. Sie können beispielsweise Nachrichten per Push an einen Endpunkt übertragen oder eine Python-Anwendung zum Abfragen des Abos schreiben.

Informationen zum Einrichten von Pub/Sub-Abos für Build-Updates finden 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-Benachrichtigungen.