Mengonfigurasi notifikasi Pub/Sub

Anda dapat menerima notifikasi tentang perubahan repositori Google Cloud dengan menggunakan Pub/Sub. Notifikasi ini memberi tahu Anda saat pengguna membuat repositori baru, menghapus repositori, atau mengirim perubahan ke repositori yang ada. Anda dapat memilih mengonfigurasi notifikasi untuk repositori tertentu atau di seluruh project Google Cloud.

Untuk mempelajari Pub/Sub lebih lanjut, lihat Apa yang dimaksud dengan Pub/Sub?

Sebelum memulai

  • Jika Anda belum melakukannya, ikuti langkah-langkah di bagian panduan memulai untuk menambahkan notifikasi guna membuat project, menginstal Git, dan melakukan inisialisasi Google Cloud CLI.
  • Pastikan Anda memiliki izin yang sesuai untuk membuat topik dan langganan. Untuk mengetahui informasi selengkapnya, lihat Kontrol akses.
  • Pastikan Anda memiliki akun layanan yang dapat memublikasikan ke topik Anda. Secara default, Cloud Source Repositories menggunakan akun layanan default Compute Engine untuk memublikasikan pesan. Untuk mengetahui informasi selengkapnya, lihat Notifikasi Pub/Sub untuk Cloud Source Repositories.

Membuat topik Pub/Sub

Untuk setiap project Cloud Source Repositories atau repositori yang ingin Anda terima notifikasinya, Anda harus membuat topik Pub/Sub. Anda dapat membuat topik menggunakan konsol Google Cloud atau alat command line gcloud.

Saat membuat topik, Anda harus menggunakan URI yang memenuhi syarat untuk repositori Anda. URI yang memenuhi syarat adalah:

projects/[PROJECT_ID]/topics/[TOPIC_NAME]

Dengan keterangan:

  • [PROJECT_ID] adalah ID project Google Cloud Anda.
  • [TOPIC_NAME] adalah nama topik.

Untuk membuat topik, ikuti langkah-langkah berikut.

Konsol

  1. Di Konsol Google Cloud, buka halaman Topics Pub/Sub.

    Buka halaman Topik

  2. Klik Buat Topik.

  3. Masukkan nama topik dengan URI:

    projects/[PROJECT_ID]/topics/[TOPIC_NAME]
    

    Dengan keterangan:

    • [PROJECT_ID] adalah ID project Google Cloud Anda.
    • [TOPIC_NAME] adalah nama topik.
  4. Klik Create.

    Halaman Detail topik akan terbuka.

gcloud

Di jendela terminal, jalankan perintah berikut:

gcloud pubsub topics create projects/[PROJECT_ID]/topics/[TOPIC_NAME]

Dengan keterangan:

  • [PROJECT_ID] adalah ID project Google Cloud Anda.
  • [TOPIC_NAME] adalah nama topik.

Untuk mempelajari perintah gcloud pubsub topics lebih lanjut, lihat dokumentasi topics.

Membuat langganan Pub/Sub

Untuk menerima peristiwa yang dipublikasikan ke suatu topik, Anda harus membuat langganan Pub/Sub.

Aplikasi pelanggan menerima pesan dari topik repositori Anda. Pelanggan dapat merespons peristiwa repositori Anda dengan mengirim notifikasi atau memicu build.

Untuk membuat langganan, ikuti langkah-langkah berikut.

Konsol

  1. Di Konsol Google Cloud, buka halaman Topics Pub/Sub.

    Buka halaman Topik

  2. Klik nama topik project Anda.

  3. Klik Buat Langganan.

    Halaman Tambahkan langganan ke topik akan terbuka.

  4. Masukkan nama langganan:

    projects/[PROJECT_ID]/subscriptions/[SUBSCRIPTION_NAME]
    

    Dengan keterangan:

    • [PROJECT_ID] adalah ID project Google Cloud Anda.
    • [SUBSCRIPTION_NAME] adalah nama langganan Pub/Sub.
  5. Biarkan Jenis pengiriman ditetapkan ke Pull.

  6. Klik Create.

gcloud

Di jendela terminal, jalankan perintah berikut:

gcloud pubsub subscriptions create [SUBSCRIPTION_NAME] --topic=[TOPIC_NAME]

Dengan keterangan:

  • [SUBSCRIPTION_NAME] adalah nama langganan Pub/Sub.
  • [TOPIC_NAME] adalah nama topik.

Untuk mempelajari perintah gcloud pubsub subscriptions lebih lanjut, lihat dokumentasi subscriptions.

Tambahkan topik

Anda dapat mengaitkan topik Pub/Sub dengan project atau repositori Google Cloud menggunakan Google Cloud CLI.

Untuk mengaitkan topik dengan keseluruhan project, masukkan perintah berikut:

gcloud source project-configs update --add-topic=[TOPIC_NAME] --service-account=[SERVICE_ACCOUNT_NAME]

Dengan keterangan:

  • [TOPIC_NAME] adalah nama topik Pub/Sub.
  • [SERVICE_ACCOUNT_NAME] adalah nama akun layanan Cloud Build Anda.

Untuk mengaitkan topik dengan repositori tertentu, masukkan perintah berikut:

gcloud source repos update [REPOSITORY_NAME] --add-topic=[TOPIC_NAME] --service-account=[SERVICE_ACCOUNT_NAME]

Dengan keterangan:

  • [REPOSITORY_NAME] adalah nama repositori Google Cloud Anda.
  • [TOPIC_NAME] adalah nama topik Pub/Sub.
  • [SERVICE_ACCOUNT_NAME] adalah nama akun layanan Cloud Build Anda.

Akun layanan harus berada dalam project yang sama dengan repositori, dan harus memiliki izin pubsub.topics.publish untuk memublikasikan pesan pada topik yang ditentukan. Anda harus memiliki izin iam.serviceAccounts.actAs di akun layanan. Jika tidak ditentukan, akun layanan akan ditetapkan secara default ke akun layanan default Compute Engine.

Menghapus topik

Anda dapat menghapus pengaitan antara project atau repositori dan topik Pub/Sub menggunakan Google Cloud CLI.

Untuk menghapus topik dari seluruh project, masukkan perintah berikut:

gcloud source project-configs update --remove-topic=[TOPIC_NAME]

Untuk menghapus topik dari repositori tertentu, masukkan perintah berikut:

gcloud source repos update [REPOSITORY_NAME] --remove-topic=[TOPIC_NAME]

Menetapkan format topik

Notifikasi untuk Cloud Source Repositories dapat menggunakan format JSON atau Protocol Buffers. Untuk menetapkan format topik, Anda dapat menggunakan parameter --message-format saat menambahkan topik:

gcloud source project-configs update --add-topic=[TOPIC_NAME] --message-format=[json|protobuf]

Anda juga dapat menggunakan perintah set-format:

gcloud source project-configs update --update-topic=[TOPIC_NAME] --message-format=[json|protobuf]

Langkah selanjutnya