Anda dapat menerima notifikasi perubahan pada Google Cloud repositori 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 untuk mengonfigurasi notifikasi untuk repositori tertentu atau di seluruh Google Cloud project.
Untuk mempelajari Pub/Sub lebih lanjut, lihat Apa yang dimaksud dengan Pub/Sub?
Sebelum memulai
- Buat repositori, jika Anda belum melakukannya.
- 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 atau repositori Cloud Source Repositories yang ingin Anda dapatkan notifikasinya, Anda harus membuat topik Pub/Sub. Anda dapat membuat
topik menggunakankonsol atau alat command line
. Google Cloud 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:
[PROJECT_ID]adalah Google Cloud project ID Anda.[TOPIC_NAME]adalah nama topik.
Untuk membuat topik, ikuti langkah-langkah berikut.
Konsol
Di Google Cloud konsol, buka halaman Topics Pub/Sub.
Klik Create Topic.
Masukkan nama topik dengan URI:
projects/[PROJECT_ID]/topics/[TOPIC_NAME]Dengan:
[PROJECT_ID]adalah Google Cloud project ID Anda.[TOPIC_NAME]adalah nama topik.
Klik Create.
Halaman Topic details akan terbuka.
gcloud
Di jendela terminal, jalankan perintah berikut:
gcloud pubsub topics create projects/[PROJECT_ID]/topics/[TOPIC_NAME]
Dengan:
[PROJECT_ID]adalah Google Cloud project ID 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 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
Di Google Cloud konsol, buka halaman Topics Pub/Sub.
Klik nama topik project Anda.
Klik Create Subscription.
Halaman Add subscription to topic akan terbuka.
Masukkan nama langganan:
projects/[PROJECT_ID]/subscriptions/[SUBSCRIPTION_NAME]Dengan:
[PROJECT_ID]adalah Google Cloud project ID Anda.[SUBSCRIPTION_NAME]adalah nama langganan Pub/Sub.
Biarkan Delivery type ditetapkan ke Pull.
Klik Create.
gcloud
Di jendela terminal, jalankan perintah berikut:
gcloud pubsub subscriptions create [SUBSCRIPTION_NAME] --topic=[TOPIC_NAME]
Dengan:
[SUBSCRIPTION_NAME]adalah nama langganan Pub/Sub.[TOPIC_NAME]adalah nama topik.
Untuk mempelajari perintah gcloud pubsub subscriptions lebih lanjut, lihat dokumentasi
subscriptions.
Menambahkan topik
Anda dapat mengaitkan topik Pub/Sub dengan Google Cloud project atau repositori menggunakan Google Cloud CLI.
Untuk mengaitkan topik dengan seluruh project, masukkan perintah berikut:
gcloud source project-configs update --add-topic=[TOPIC_NAME] --service-account=[SERVICE_ACCOUNT_NAME]
Dengan:
[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:
[REPOSITORY_NAME]adalah nama repositori Anda. Google Cloud[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 di topik yang ditentukan. Anda harus memiliki izin iam.serviceAccounts.actAs di akun layanan. Jika akun layanan tidak ditentukan, akun layanan default Compute Engine akan digunakan secara default.
Menghapus topik
Anda dapat menghapus kaitan 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 berikutnya
- Pelajari lebih lanjut notifikasi Pub/Sub untuk Cloud Source Repositories.
- Baca dokumentasi Pub/Sub.
- Untuk penjelasan mendalam tentang Pub/Sub, lihat Apa yang dimaksud dengan Pub/Sub?.
- Pelajari lebih lanjut peran kontrol akses Pub/Sub.