Menggunakan notifikasi Cloud Deploy

Halaman ini menjelaskan cara menggunakan notifikasi layanan Cloud Deploy, termasuk cara berlangganan notifikasi tersebut.

Cloud Deploy menggunakan Pub/Sub untuk memublikasikan notifikasi untuk dua tujuan:

  • Untuk memungkinkan Anda mengintegrasikan Cloud Deploy dengan alat pihak ketiga dan alat Google lainnya, seperti alat untuk pemrosesan tiket alur kerja atau infrastruktur pengujian.

  • Untuk memperluas Cloud Deploy dengan logika bisnis tambahan.

Topik yang tersedia

Cloud Deploy memublikasikan pesan ke kumpulan topik Google Pub/Sub berikut:

  • clouddeploy-resources

    Saat ada operasi (buat, perbarui, hapus) terhadap resource inti Cloud Deploy (otomatisasi, jenis target kustom, pipeline pengiriman, eksekusi tugas, rilis, peluncuran, target).

  • clouddeploy-operations

    • Saat Cloud Deploy merender konfigurasi Skaffold.
    • Saat Cloud Deploy men-deploy ke target (Start, Succeed, Failure, Terminated (job run), Cancelled (peluncuran)).
  • clouddeploy-approvals

    • Saat Cloud Deploy memerlukan persetujuan (atau penolakan) peluncuran.
    • Saat peluncuran disetujui atau ditolak.
  • clouddeploy-advances

    • Saat peluncuran Cloud Deploy telah dilanjutkan dari satu fase ke fase berikutnya.
    • Saat peluncuran siap dilanjutkan.

Anda dapat menggunakan model push atau pull untuk langganan Pub/Sub.

Menerima notifikasi layanan Cloud Deploy

Untuk menerima notifikasi layanan Cloud Deploy:

  1. Aktifkan Cloud Deploy API untuk project Anda:

    Aktifkan Cloud Deploy API

  2. Aktifkan Pub/Sub API:

    Aktifkan Pub/Sub API

  3. Buat topik Pub/Sub, berdasarkan jenis notifikasi yang ingin Anda terima:

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

    Untuk mempelajari lebih lanjut cara mengelola topik Pub/Sub, lihat Membuat topik.

Berlangganan notifikasi layanan Cloud Deploy

Anda dapat mengonfigurasi notifikasi layanan Cloud Deploy untuk langganan push dan langganan pull. Untuk mempelajari cara menyiapkan langganan Pub/Sub untuk notifikasi ini, lihat Memilih jenis langganan. Anda juga dapat mempelajari Library Klien Pub/Sub, yang mempermudah pengembangan aplikasi subscriber.

Nilai kolom

Bagian ini mencantumkan kemungkinan nilai untuk kolom dalam pesan Pub/Sub Cloud Deploy.

Untuk Action

Dalam notifikasi ini, kemungkinan nilai untuk Action adalah sebagai berikut.

  • Untuk resource

    • Create
    • Update
    • Delete
  • Untuk operasi:

    • Start
    • Succeed
    • Failure
    • Terminated
    • Cancelled
  • Untuk persetujuan:

    • Required
    • Approved
    • Rejected
  • Untuk uang muka:

    • Required
    • Advanced

Untuk ResourceType

Nilai yang mungkin untuk ResourceType adalah sebagai berikut:

  • DeliveryPipeline
  • Target
  • Release
  • Rollout
  • JobRun

Contoh pesan

Contoh berikut menunjukkan beberapa jenis pesan Pub/Sub dari topik Cloud Deploy.

Pembuatan pipeline pengiriman

Berikut adalah contoh pesan Pub/Sub yang dipublikasikan ke clouddeploy-resources sebagai respons terhadap pembuatan deliveryPipeline baru:

{
  "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"
  }
}

Mulai rendering

Berikut adalah contoh pesan Pub/Sub yang dipublikasikan ke clouddeploy-operations untuk memberi tahu bahwa rilis telah dirender:

{
  "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"
  }
}

Diperlukan persetujuan

Berikut adalah contoh pesan Pub/Sub yang dipublikasikan ke clouddeploy-approvals untuk memberi tahu bahwa peluncuran memerlukan persetujuan:

{
   "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"
   }
 }

Peluncuran lanjutan

Berikut adalah contoh pesan Pub/Sub yang dipublikasikan ke clouddeploy-advances untuk memberi tahu bahwa peluncuran telah dilanjutkan dari satu fase ke fase berikutnya:

{
  "ackId": "RFAGFixdRkhRNxkIaFEOT14jPzUgKEUSAwVPAihdeTFXKkFZdWhRDRlyfWB9bV4UUFZMV38OURoHaE5tdR_z4ILjS0NVbVkQBApEUHldXhkEa1RcfC-a0fmv1OzMV0AvOaCoyO9pe77r3NluZiM9XhJLLD5-Jz1FQV5AEkwsCERJUytDCypYEU4EISE-MD5FUw",
  "message": {
    "attributes": {
      "Action": "Advanced",
      "Location": "us-central1",
      "PhaseId": "stable",
      "ProjectNumber": "120123456789",
      "ReleaseId": "rollout-123",
      "Rollout": "projects/120123456789/locations/us-central1/deliveryPipelines/etest/releases/f2/rollouts/rollout-123",
      "RolloutId": "rollout-123",
      "TargetId": "prod"
    },
    "messageId": "7335813725293809",
    "publishTime": "2023-04-03T15:16:30.425Z"
  }
}

Dalam pesan ini, PhaseId mengidentifikasi fase peluncuran yang telah dilakukan.

Langkah berikutnya