Berlangganan notifikasi build

Cloud Build memublikasikan pesan tentang topik Google Pub/Sub saat status build Anda berubah, misalnya saat build dibuat, saat build bertransisi ke status 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 dalam 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:

  1. Aktifkan Cloud Build API:

    Mengaktifkan Cloud Build API

    Saat mengaktifkan Cloud Build API, akun layanan Agen Layanan Cloud Build 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 Agen Layanan Cloud Build pada halaman IAM atau tidak dapat menerima notifikasi melalui Pub/Sub, ikuti langkah-langkah berikut untuk menambahkan akun layanan Agen Layanan Cloud Build ke project Anda:

    1. Buka halaman IAM di Konsol Google Cloud:

      Buka halaman IAM

    2. Klik Berikan akses.

    3. Tambahkan akun utama berikut, dengan project-number sebagai nomor project Anda:

      service-project-number@gcp-sa-cloudbuild.iam.gserviceaccount.com
      
    4. Pilih Agen Layanan > Agen Layanan Cloud Build sebagai peran Anda.

    5. Klik Simpan.

  2. Aktifkan Pub/Sub API:

    Mengaktifkan Pub/Sub API

  3. Buat topik cloud-builds:

    gcloud pubsub topics create cloud-builds
    

    Untuk mempelajari lebih lanjut cara mengelola topik Pub/Sub, lihat Mengelola topik dan langganan.

Kirim

Langganan push mengirimkan pesan ke endpoint HTTP yang Anda tentukan. Pesan akan segera dikirim 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

Tarik langganan mengirim pesan saat di-polling oleh aplikasi yang berlangganan. Pesan akan 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"
      }
    }
  ]
}

Bagaimana cara berlangganan notifikasi build update?

Anda memiliki berbagai opsi untuk berlangganan notifikasi update build. Misalnya, Anda dapat mengirim pesan ke endpoint, atau menulis aplikasi Python untuk melakukan polling pada 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 pelanggan.

Untuk mempelajari cara menggunakan Pub/Sub untuk mengirim update build ke layanan seperti Slack atau melalui email, lihat pemberi tahu Cloud Build.