Pemberi notifikasi Cloud Build

Notifikasi Cloud Build adalah image Docker yang dapat dijalankan sebagai container di Cloud Run. Saat disurvei oleh aplikasi pelanggan, pemberitahuan Cloud Build menggunakan langganan push untuk mengirimkan pesan ke layanan yang dikonfigurasi, seperti Slack atau server SMTP.

Halaman ini memberikan ringkasan tentang notifikasi Cloud Build.

Pemberi notifikasi Cloud Build

Cloud Build mengirimkan semua pembaruan peristiwa build, beserta metadata build, ke Pub/Sub di topik cloud-builds atau topik yang ditentukan pengguna. Notifikasi Cloud Build dapat dikonfigurasi untuk memproses topik tersebut, memfilter pesan yang diterima, dan mengirim pesan ke layanan Anda melalui Cloud Run.

Semua notifikasi menggunakan spesifikasi YAML umum untuk konfigurasi, yang disimpan di Cloud Storage. Jika layanan yang Anda pilih memerlukan autentikasi, kredensialnya akan disimpan di Secret Manager. Cloud Run merutekan pesan dan mengirim notifikasi ke layanan Anda.

Diagram berikut menunjukkan cara Cloud Build berinteraksi dengan produk Google Cloud lain, seperti Pub/Sub dan Cloud Run, untuk mengirim notifikasi:

Diagram untuk notifikasi Cloud Build

Topik Pub/Sub untuk notifikasi build

Secara default, Cloud Build mengirimkan notifikasi build ke topik Pub/Sub bernama cloud-builds jika ada. Anda juga dapat membuat topik Pub/Sub kustom untuk menerima notifikasi build. Dalam file konfigurasi build, kolom options.pubsubTopic menentukan nama topik yang menjadi tujuan pengiriman notifikasi oleh Cloud Build:

  • Jika options.pubsubTopic dibiarkan kosong, Cloud Build akan menggunakan nilai default cloud-builds sebagai nama topik untuk build dari file tersebut. Akibatnya, jika Anda membuat topik cloud-builds dan membiarkan options.pubsubTopic tidak ditentukan di semua file konfigurasi build, topik tersebut akan menerima semua notifikasi build Anda.

  • Jika Anda menentukan nama topik kustom di options.pubsubTopic, Cloud Build akan mengirimkan notifikasi untuk file konfigurasi build tersebut ke topik tersebut. Nama topik kustom berguna jika Anda tidak ingin semua notifikasi build dipublikasikan ke topik yang sama.

    Saat menggunakan nama topik kustom dalam file konfigurasi build, Anda juga harus menetapkan peran roles/pubsub.publisher ke akun layanan selain akun layanan Cloud Build default.

Memublikasikan notifikasi build ke topik Pub/Sub di seluruh project

Untuk memublikasikan notifikasi build ke topik Pub/Sub dalam project yang berbeda dengan tempat build dijalankan, berikan peran roles/pubsub.publisher ke akun layanan di project target.

Misalnya, Anda memiliki Project A dan Project B. Anda menjalankan build di Project A menggunakan Akun Layanan A, dan ingin memublikasikan notifikasi build ke topik Pub/Sub di Project B. Untuk melakukannya, Anda dapat memberikan peran roles/pubsub.publisher kepada Akun Layanan A di Project B dengan menjalankan perintah berikut:

  gcloud projects add-iam-policy-binding ProjectB --member 'serviceAccount:ServiceAccountA' --role 'roles/pubsub.publisher'

Kemudian, Anda dapat menggunakan konfigurasi build seperti berikut, yang memungkinkan Anda menjalankan build di Project A dan memublikasikan notifikasi build ke Project B:

  steps:
    - name: ubuntu
      args:
        - pwd
  serviceAccount: projects/ProjectA/serviceAccounts/ServiceAccountA
  options:
    pubsubTopic: projects/ProjectB/topics/CustomTopic
    logging: desired-logging-option

Pemberi notifikasi yang didukung dan disediakan oleh Cloud Build

Cloud Build menyediakan dan mengelola image notifikasi yang dapat di-deploy di repositori cloud-build-notifiers. Tabel berikut mencantumkan pemberitahuan yang tersedia:

Notifier Deskripsi
bigquery menulis data build ke tabel BigQuery
githubissues menggunakan webhook GitHub untuk membuat masalah pada repositori GitHub
googlechat menggunakan webhook Google Chat untuk memposting pesan ke ruang Google Chat
http mengirim payload JSON ke endpoint HTTP lain
slack menggunakan webhook Slack untuk memposting pesan ke saluran Slack
smtp mengirim email melalui server SMTP

Untuk mempelajari lebih lanjut cara mengonfigurasi setiap notifikasi, lihat halaman yang sesuai untuk setiap layanan:

Mengotomatiskan konfigurasi notifikasi

Cloud Build menyediakan skrip penyiapan yang dapat Anda gunakan untuk mengotomatiskan konfigurasi notifikasi untuk notifikasi yang didukung Cloud Build.

Untuk mempelajari cara mengonfigurasi notifikasi untuk notifikasi yang didukung Cloud Build, lihat Mengotomatiskan konfigurasi untuk notifikasi.

Membuat pemberi notifikasi sendiri

Selain notifikasi yang dikelola oleh Cloud Build, seperti Slack atau SMTP, Anda dapat menggunakan library yang disediakan di repositori cloud-build-notifiers untuk membuat notifikasi Anda sendiri.

Untuk mempelajari cara membuat notifikasi Anda sendiri, lihat Membuat notifikasi Anda sendiri.

Langkah berikutnya