Cloud Build memublikasikan pesan di topik
Google Pub/Sub saat status build Anda berubah,
seperti saat build Anda dibuat, saat build Anda bertransisi ke status
yang berfungsi, dan saat build Anda selesai. Setiap
message berisi representasi string JSON base64 dari
Build resource di
atribut message.data. ID unik build dan status build dapat ditemukan di kolom message.attributes.
Secara default, pesan dipublikasikan ke topik cloud-builds; Anda juga dapat
menentukan nama topik kustom di kolom
options.pubsubTopic
file konfigurasi build. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi nama topik di file konfigurasi build, lihat Topik Pub/Sub untuk notifikasi build.
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 dari Pub/Sub.
Akun layanan memiliki format berikut, dengan project-number adalah nomor project Anda:
service-project-number@gcp-sa-cloudbuild.iam.gserviceaccount.comJika Anda tidak melihat akun layanan Cloud Build Service Agent di halaman IAM, atau Anda tidak dapat menerima notifikasi dari 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 prinsipal berikut, dengan project-number adalah nomor project Anda:
service-project-number@gcp-sa-cloudbuild.iam.gserviceaccount.comPilih Service Agents > Cloud Build Service Agent sebagai peran Anda.
Klik Simpan.
Aktifkan Pub/Sub API:
Buat topik
cloud-builds:gcloud pubsub topics create cloud-buildsAnda juga dapat menentukan nama topik kustom dalam file konfigurasi build sehingga pesan dikirim ke topik kustom tersebut. Dalam hal ini, Anda akan membuat topik dengan nama topik kustom yang sama:
gcloud pubsub topics create topic-nameUntuk mengetahui informasi selengkapnya, lihat Topik Pub/Sub untuk notifikasi build.
Untuk mempelajari lebih lanjut cara mengelola topik Pub/Sub, lihat Mengelola topik dan langganan.
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==",
"messageId": "136969346945"
},
"subscription": "projects/myproject/subscriptions/mysubscription"
}
Langganan pull
Langganan pull mengirimkan pesan saat di-polling oleh aplikasi yang berlangganan. Pesan dikirim saat langganan di-polling.
Pesan yang dikirim dari langganan pull akan terlihat seperti ini:
{
"receivedMessages": [
{
"ackId": "dQNNHlAbEGEIBERNK0EPKVgUWQYyODM2LwgRHFEZDDsLRk1SK...",
"message": {
"attributes": {
"buildId": "abcd-efgh-...",
"status": "SUCCESS"
},
"data": "SGVsbG8gQ2xvdWQgUHViL1N1YiEgSGVyZSBpcyBteSBtZXNzYWdlIQ==",
"messageId": "19917247034"
}
}
]
}
Berlangganan notifikasi update build
Anda memiliki beberapa opsi untuk berlangganan notifikasi update build. Misalnya, Anda dapat mengirim 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 mempermudah pengembangan aplikasi subscriber.
Untuk mempelajari cara menggunakan Pub/Sub guna mengirim update build ke email atau ke layanan seperti Slack, lihat Notifikasi Cloud Build.