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-resourcesSaat 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:
Aktifkan Cloud Deploy API untuk project Anda:
Aktifkan Pub/Sub API:
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-advancesUntuk 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
CreateUpdateDelete
Untuk operasi:
StartSucceedFailureTerminatedCancelled
Untuk persetujuan:
RequiredApprovedRejected
Untuk uang muka:
RequiredAdvanced
Untuk ResourceType
Nilai yang mungkin untuk ResourceType adalah sebagai berikut:
DeliveryPipelineTargetReleaseRolloutJobRun
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.