Google Cloud Deploy-Benachrichtigungen verwenden

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Auf dieser Seite wird beschrieben, wie Sie Google Cloud Deploy-Dienstbenachrichtigungen verwenden und diese abonnieren.

Google Cloud Deploy verwendet Pub/Sub, um Benachrichtigungen für zwei Zwecke zu veröffentlichen:

  • Damit Sie Google Cloud Deploy in Tools von Drittanbietern und andere Google-Tools wie Tools für das Workflow-Ticketing oder die Testinfrastruktur einbinden können.

  • Um Google Cloud Deploy zusätzliche Geschäftslogik hinzuzufügen.

Verfügbare Themen

Google Cloud Deploy veröffentlicht Nachrichten an die folgenden Google Pub/Sub-Themen:

  • clouddeploy-resources

    Wenn ein Vorgang (Erstellen, Aktualisieren, Löschen) für eine Google Cloud Deploy-Kernressource besteht (Bereitstellungspipeline, Release, Roll-out, Ziel).

  • clouddeploy-operations

    Wenn Google Cloud Deploy die Skaffold-Konfiguration rendert oder für ein Ziel (Start, Succeed, Failure) bereitstellt.

  • clouddeploy-approvals

    • Wenn Google Cloud Deploy eine Genehmigung (oder Ablehnung) eines Rollouts benötigt.
    • Wenn ein Rollout genehmigt oder abgelehnt wurde.

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

Google Cloud Deploy-Dienstbenachrichtigungen erhalten

So erhalten Sie Dienstbenachrichtigungen für Google Cloud Deploy:

  1. Aktivieren Sie die Google Cloud Deploy API:

    Google Cloud Deploy API aktivieren

    Das Dienstkonto Cloud Deploy Service Agent wird Ihrem Projekt automatisch hinzugefügt, wenn Sie die Google Cloud Deploy API zum ersten Mal aufrufen. Mit diesem Dienstkonto können Sie Google Cloud Deploy-Dienstbenachrichtigungen mit Pub/Sub erhalten.

    Der Name des Dienstkontos hat das folgende Format, wobei project-number Ihre Projektnummer ist:

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

    Wenn das Dienstkonto Cloud Deploy-Dienst-Agent immer noch nicht auf Ihrer IAM-Seite angezeigt wird oder Sie keine Pub/Sub-Benachrichtigungen erhalten, fügen Sie Ihrem Projekt dieses Dienstkonto hinzu:

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

      Seite "IAM" öffnen

    2. Klicken Sie auf Add (Hinzufügen).

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

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

    5. Klicken Sie auf Speichern.

  2. Pub/Sub API aktivieren:

    Pub/Sub API aktivieren

  3. Erstellen Sie das Pub/Sub-Thema oder die Pub/Sub-Themen, je nachdem, welche Benachrichtigungstypen Sie erhalten möchten:

    gcloud pubsub topics create clouddeploy-resources
    gcloud pubsub topics create clouddeploy-operations
    gcloud pubsub topics create clouddeploy-approvals
    

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

Google Cloud Deploy-Dienstbenachrichtigungen abonnieren

Sie haben verschiedene Möglichkeiten, 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 Benachrichtigungen des Google Cloud Deploy-Dienstes 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.

Feldwerte

In diesem Abschnitt werden mögliche Werte für Felder in den Nachrichten von Google Cloud Deploy Pub/Sub aufgeführt.

Für Action

In diesen Benachrichtigungen sind folgende Werte für Action möglich:

  • Für Ressourcen

    • Create
    • Update
    • Delete
  • Für Vorgänge:

    • Start
    • Succeed
    • Failure
  • Für Genehmigungen:

    • Required
    • Approved
    • Rejected

Für ResourceType

Mögliche Werte für ResourceType sind:

  • DeliveryPipeline
  • Target
  • Release
  • Rollout
  • JobRun

Beispielnachrichten

Die folgenden Beispiele zeigen verschiedene Arten von Pub/Sub-Nachrichten aus Google Cloud Deploy-Themen.

Bereitstellungspipeline erstellen

Das folgende Beispiel zeigt eine Pub/Sub-Nachricht, die in clouddeploy-resources als Antwort auf die Erstellung eines neuen deliveryPipeline veröffentlicht wird:

{
  "ackId":   "RFAGFixdRkhRNxkIaFEOT14jPzUgKEUQBQgUBXx9cEFMdVhddmhRDRlyfWByY11AAgVMVnldURsHaE5tdR_Wg6LHS0NVaF4TBgpGVX5fXx0IYVtedi_m7r_2wPXOXkAvOYXL6Mtpe735h9xvZiM9XxJLLD5-IzRFQV5AEkwoAURJUytDCypYEU4EISE-MD5FUw",
  "message": {
    "attributes": {
      "Action": "Create",
      "Resource": "projects/120123456789/locations/us-central1/deliveryPipelines/etest",
      "ResourceType": "DeliveryPipeline",
      "Location": "us-central1",
      "DeliveryPipelineId": "etest",
      "ProjectNumber": "120123456789",

    },
    "messageId": "2407836004659723",
    "publishTime": "2021-05-17T21:24:48.204Z"
  }
}

Renderingstart

Im Folgenden finden Sie ein Beispiel für eine Pub/Sub-Nachricht, die in clouddeploy-operations veröffentlicht wurde, um zu benachrichtigen, dass ein Release gerendert wurde:

{
  "ackId": "U0RQBhYsXUZIUTcZCGhRDk9eIz81IChFFwYIFAV8fXBBTHVeXHRoUQ0Zcn1gcmNfR1MLFlN5WFEaB2hObXUfioKix0tDVWheEwYKRVZ3W1kdBGFVXH0v_qD5rMP1zl5AKDnZyujLaXudkqxfZiM9XxJLLD5-PTNFQV5AEkw2BkRJUytDCypYEU4EISE-MD5F",
  "message": {
    "attributes": {
      "Action": "Start",
      "Resource": "projects/120123456789/locations/us-central1/deliveryPipelines/etest/releases/f2",
      "ResourceType": "Release"
      "Location": "us-central1",
      "DeliveryPipelineId": "etest",
      "ProjectNumber": "120123456789",
      "ReleaseId": "f2",
    },
    "messageId": "2407805942699908",
    "publishTime": "2021-05-17T21:28:04.201Z"
  }
}

Genehmigung erforderlich

Das folgende Beispiel zeigt eine Pub/Sub-Nachricht, die in clouddeploy-approvals veröffentlicht wird, um zu informieren, dass für einen Rollout eine Genehmigung erforderlich ist:

{
   "ackId": "RVNEUAYWLF1GSFE3GQhoUQ5PXiM_NSAoRRILUxNRXHQBWhBpWF8aB1ENGXJ8ZnxtCRBVU0FWf1VbEQ16bVxti6C2rERfQXduWhQJBkBXd11aHQhoXF9dotnkpeTv2kFwYSuN8_7mSH_Mo6AYZiA9XBJLLD5-IzZFQV5AEkwoA0RJUytDCypYEU4EISE-MD4",
   "message": {
     "attributes": {
       "Action": "Required",
       "Rollout": "projects/120123456789/locations/us-central1/deliveryPipelines/etest/releases/f2/rollouts/rollout-123"
       "ReleaseId": "f2",
       "RolloutId": "rollout-123",
       "TargetId": "prod",
       "Location": "us-central1",
       "ProjectNumber": "120123456789",
     },
     "messageId": "2407845492165003",
     "publishTime": "2021-05-17T21:31:25.143Z"
   }
 }

Nächste Schritte