Mendapatkan notifikasi saat kode berubah di Cloud Source Repositories

Halaman ini menunjukkan cara menyiapkan notifikasi Pub/Sub untuk Cloud Source Repositories.

Sebelum memulai

  1. 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.

  2. 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 memberikan roles/editor ke akun layanan default Compute Engine secara manual.

    Mengaktifkan Compute Engine API

  3. Aktifkan Pub/Sub API.

    Mengaktifkan 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

  1. Di GCP Console, buka halaman Topics Pub/Sub.

    Buka halaman Topik

  2. Klik Create Topic .

  3. Di kolom Nama, ketik csr-test.

  4. Klik Buat Topik.

    Halaman Detail topik akan terbuka.

gcloud

  1. 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)')
    
  2. 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

  1. Di GCP Console, buka halaman Topics Pub/Sub.

    Buka halaman Topik

  2. Klik nama topik project Google Cloud yang baru saja Anda buat.

  3. Pada tab Langganan, klik Buat Langganan.

    Halaman Tambahkan langganan ke topik akan terbuka.

  4. Untuk nama langganan, ketik csr-subscription-test.

  5. Pastikan Jenis pengiriman disetel ke Tarik.

  6. 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.

  1. Di jendela terminal, buka repositori hello-world:

    cd hello-world
    
  2. 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)
    
  3. Tambahkan file agar Git dapat melakukan commit:

    git add main.py
    
  4. Commit file:

    git commit -m "Update main.py to test Cloud Pub/Sub notifications"
    
  5. 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.

  1. Di GCP Console, buka halaman Topics Pub/Sub.

    Buka halaman Topik

  2. Pilih kotak centang untuk setiap topik yang ingin Anda hapus secara permanen.

  3. Klik Delete .

  4. Untuk menghapus langganan yang tersisa, tampilkan setiap langganan, lalu klik Delete .

Untuk menghapus repositori yang Anda buat, ikuti langkah-langkah berikut.

  1. Di GCP Console, buka halaman All repository untuk Cloud Source Repositories.

    Open Cloud Source Repositories

  2. Arahkan kursor ke repositori yang ingin Anda hapus, lalu klik Settings .

    Halaman Setelan umum akan terbuka.

  3. Klik Delete this repository .

    Dialog Remove repository akan terbuka.

  4. Ketik nama repositori yang ingin Anda hapus.

  5. Klik Delete.

Langkah selanjutnya