Mendapatkan notifikasi saat kode berubah di Cloud Source Repositories
Halaman ini menunjukkan cara menyiapkan notifikasi Pub/Sub untuk Cloud Source Repositories.
Sebelum memulai
Selesaikan langkah-langkah dari artikel Membuat repositori kode di Cloud Source Repositories.
Setelah menyelesaikan panduan memulai tersebut, Anda memiliki aplikasi yang dapat di-deploy ke App Engine.
Aktifkan Compute Engine API.
Dalam panduan memulai ini, akun layanan default Compute Engine digunakan untuk memublikasikan pesan ke Pub/Sub.
Jika batasan kebijakan org
constraints/iam.automaticIamGrantsForDefaultServiceAccounts
diaktifkan, pastikan untuk memberikanroles/editor
ke akun layanan default Compute Engine secara manual.Aktifkan Pub/Sub API.
Membuat topik Pub/Sub
Untuk mendapatkan notifikasi terkait project atau repositori Cloud Source Repositories, Anda harus membuat topik Pub/Sub. Anda dapat menggunakan konsol Google Cloud atau Google Cloud CLI untuk membuat topik.
Konsol
Di GCP Console, buka halaman Topics Pub/Sub.
Klik Create Topic add_box.
Di kolom Nama, ketik
csr-test
.Klik Buat Topik.
Halaman Detail topik akan terbuka.
gcloud
Di jendela terminal, tetapkan variabel yang berisi project ID Google Cloud Anda. Pastikan project ini sama dengan project Google Cloud yang berisi repositori Anda.
export PROJECT_ID=$(gcloud config list --format 'value(core.project)')
Jalankan perintah berikut:
gcloud pubsub topics create projects/$PROJECT_ID/topics/csr-test
Membuat langganan Pub/Sub
Buat langganan pull, push, atau BigQuery.
Langganan Pub/Sub memungkinkan pelanggan menerima pesan dari topik repositori.
Konsol
Di GCP Console, buka halaman Topics Pub/Sub.
Klik nama topik project Google Cloud yang baru saja Anda buat.
Pada tab Langganan, klik Buat Langganan.
Halaman Tambahkan langganan ke topik akan terbuka.
Untuk nama langganan, ketik
csr-subscription-test
.Pastikan Jenis pengiriman disetel ke Tarik.
Klik Create.
Halaman Detail topik akan terbuka. Langganan Anda tercantum di tab Langganan.
gcloud
Di jendela terminal, jalankan perintah berikut:
gcloud pubsub subscriptions create csr-subscription-test --topic=csr-test
Mengaitkan topik dengan repositori
Dengan Google Cloud CLI, kaitkan topik Pub/Sub dengan repositori tertentu:
gcloud source repos update hello-world --add-topic=csr-test
Output yang mirip dengan berikut ini ditampilkan:
name: projects/csr-quickstart-test/repos/hello-world
pubsubConfigs:
projects/csr-quickstart-test/topics/csr-test:
messageFormat: JSON
serviceAccountEmail: 604898361241-compute@developer.gserviceaccount.com
topic: projects/csr-quickstart-test/topics/csr-test
url: https://source.developers.google.com/p/csr-quickstart-test/r/hello-world
Mengirim perubahan ke repositori hello-world
Setelah topik dan langganan Pub/Sub disiapkan, kirim perubahan ke
repositori hello-world
. Perubahan ini memungkinkan Anda melihat notifikasi di tempat kerja.
Di jendela terminal, buka repositori
hello-world
:cd hello-world
Edit file
main.py
agar terbaca sebagai berikut:#!/usr/bin/env python import webapp2 class MainHandler(webapp2.RequestHandler): def get(self): self.response.write('Hello, Cloud Pub/Sub!') app = webapp2.WSGIApplication([ ('/', MainHandler) ], debug=True)
Tambahkan file agar Git dapat melakukan commit:
git add main.py
Commit file:
git commit -m "Update main.py to test Cloud Pub/Sub notifications"
Kirim file ke Cloud Source Repositories:
git push origin master
Melihat notifikasi
Saat Anda mengirim perubahan ke repositori, Pub/Sub akan mengirimkan notifikasi. Untuk melihat notifikasi ini, masukkan perintah berikut:
gcloud pubsub subscriptions pull csr-subscription-test
Pembersihan
Untuk menghapus resource Pub/Sub, ikuti langkah-langkah berikut.
Di GCP Console, buka halaman Topics Pub/Sub.
Pilih kotak centang untuk setiap topik yang ingin Anda hapus secara permanen.
Klik Delete delete.
Untuk menghapus langganan yang tersisa, tampilkan setiap langganan, lalu klik Delete delete.
Untuk menghapus repositori yang Anda buat, ikuti langkah-langkah berikut.
Di GCP Console, buka halaman All repository untuk Cloud Source Repositories.
Arahkan kursor ke repositori yang ingin Anda hapus, lalu klik Settings settings.
Halaman Setelan umum akan terbuka.
Klik Delete this repository delete.
Dialog Remove repository akan terbuka.
Ketik nama repositori yang ingin Anda hapus.
Klik Delete.
Langkah selanjutnya
- Pelajari lebih lanjut cara mengonfigurasi notifikasi untuk Cloud Source Repositories.
- Pelajari notifikasi Pub/Sub untuk Cloud Source Repositories lebih lanjut.
- Baca dokumentasi Pub/Sub.
- Untuk penjelasan mendalam tentang Pub/Sub, lihat Apa yang dimaksud dengan Pub/Sub?
- Pelajari peran kontrol akses Pub/Sub lebih lanjut.