Cloud Build memublikasikan pesan di topik Google Pub/Sub saat status build Anda berubah, seperti saat build dibuat, saat build bertransisi ke status yang berfungsi, dan saat build selesai.
Topik Pub/Sub tempat Cloud Build memublikasikan pesan update build ini disebut cloud-builds
. Setiap pesan berisi representasi string JSON base64 dari resource Build Anda di atribut message.data
. ID unik build dan status build dapat ditemukan di
kolom message.attributes
.
Anda dapat menggunakan model push atau pull untuk langganan Pub/Sub.
Menerima notifikasi build
Untuk menerima notifikasi build:
Aktifkan Cloud Build API:
Saat Anda mengaktifkan Cloud Build API, akun layanan Cloud Build Service Agent akan otomatis ditambahkan ke project Anda. Akun layanan memungkinkan Anda menerima notifikasi build melalui Pub/Sub.
Akun layanan memiliki format berikut, dengan project-number adalah nomor project Anda:
service-project-number@gcp-sa-cloudbuild.iam.gserviceaccount.com
Jika Anda tidak melihat akun layanan Cloud Build Service Agent di halaman IAM atau tidak dapat menerima notifikasi melalui Pub/Sub, ikuti langkah-langkah berikut untuk menambahkan akun layanan Cloud Build Service Agent ke project Anda:
Buka halaman IAM di konsol Google Cloud:
Klik Grant access.
Tambahkan akun utama berikut, dengan project-number adalah nomor project Anda:
service-project-number@gcp-sa-cloudbuild.iam.gserviceaccount.com
Pilih Service Agents > Cloud Build Service Agent sebagai peran Anda.
Klik Simpan.
Aktifkan Pub/Sub API:
Buat topik
cloud-builds
:gcloud pubsub topics create cloud-builds
Untuk mempelajari lebih lanjut cara mengelola topik Pub/Sub, lihat Mengelola topik dan langganan.
Push
Langganan push mengirimkan pesan ke endpoint HTTP yang Anda tentukan. Pesan dikirim segera setelah dipublikasikan ke topik.
Pesan yang dikirim dari langganan push terlihat seperti ini:
{
"message": {
"attributes": {
"buildId": "abcd-efgh...",
"status": "SUCCESS"
},
"data": "SGVsbG8gQ2xvdWQgUHViL1N1YiEgSGVyZSBpcyBteSBtZXNzYWdlIQ==",
"message_id": "136969346945"
},
"subscription": "projects/myproject/subscriptions/mysubscription"
}
Tarik
Langganan pull mengirimkan pesan saat polling dilakukan oleh aplikasi yang berlangganan. Pesan dikirim saat langganan di-polling.
Pesan yang dikirim dari langganan pull terlihat seperti ini:
{
"receivedMessages": [
{
"ackId": "dQNNHlAbEGEIBERNK0EPKVgUWQYyODM2LwgRHFEZDDsLRk1SK...",
"message": {
"attributes": {
"buildId": "abcd-efgh-...",
"status": "SUCCESS"
},
"data": "SGVsbG8gQ2xvdWQgUHViL1N1YiEgSGVyZSBpcyBteSBtZXNzYWdlIQ==",
"messageId": "19917247034"
}
}
]
}
Bagaimana cara berlangganan notifikasi update build?
Anda memiliki berbagai opsi untuk berlangganan notifikasi update build. Misalnya, Anda dapat mendorong pesan ke endpoint, atau menulis aplikasi Python untuk melakukan polling langganan Anda.
Untuk mempelajari cara menyiapkan langganan Pub/Sub untuk update build, baca Panduan Pelanggan Pub/Sub. Anda juga dapat mempelajari Library Klien Pub/Sub, yang memudahkan pengembangan aplikasi pelanggan.
Untuk mempelajari cara menggunakan Pub/Sub guna mengirim update build ke layanan seperti Slack atau melalui email, lihat Pemberi tahu Cloud Build.