Mengatur build berdasarkan persetujuan

Cloud Build memungkinkan Anda mengonfigurasi pemicu yang tidak langsung mengeksekusi build, tetapi menandai build sebagai tertunda hingga disetujui. Jika pengguna dengan izin menyetujui build yang menunggu keputusan, build akan dimulai. Jika persetujuan ditolak, build tidak akan dimulai.

Halaman ini menjelaskan cara menyetujui atau menolak build secara manual. Untuk mempelajari cara mengonfigurasi pemicu yang memerlukan persetujuan, lihat Membuat pemicu build.

Sebelum memulai

  • Enable the Cloud Build API.

    Enable the API

  • Instal Google Cloud CLI.

  • Jika belum, buat pemicu build yang dikonfigurasi untuk memerlukan persetujuan.

Memberikan izin

Jika pengguna memiliki peran Cloud Build Editor, pengguna tersebut memiliki izin untuk memperbarui pemicu agar memerlukan atau tidak memerlukan persetujuan. Untuk mempelajari lebih lanjut izin Cloud Build, lihat IAM dan izin. Untuk memberikan izin kepada pengguna agar dapat menyetujui build dalam project Anda, pengguna tersebut harus memiliki peran Cloud Build Approver.

Untuk menambahkan peran Penyetuju Cloud Build:

  1. Buka halaman IAM di konsol Google Cloud .

    Buka halaman IAM

  2. Klik Grant access.

    Anda akan melihat panel Berikan akses.

  3. Di bagian Add principals, tambahkan pengguna untuk memberi mereka izin guna memberikan persetujuan untuk build yang tertunda dalam project Anda.

    Anda harus menambahkan satu atau beberapa akun utama di bagian ini. Jika Anda menambahkan diri Anda sebagai kepala sekolah, perhatikan bahwa Anda tetap harus menyetujui build yang tertunda secara manual jika pemicu Anda dibatasi oleh persetujuan.

  4. Di bagian Assign roles, pilih Cloud Build > Cloud Build Approver.

Pengguna yang Anda tentukan kini memiliki akses untuk menyetujui atau menolak build yang tertunda.

Menyetujui build

Konsol

Untuk menyetujui build yang tertunda di konsol Google Cloud :

  1. Buka halaman Cloud Build Dashboard di konsol Google Cloud .

    Buka halaman Dasbor Cloud Build

  2. Jika ada build yang perlu disetujui, Anda akan melihat pesan di bagian atas halaman dengan jumlah build yang menunggu persetujuan Anda. Di sebelah kanan pesan, klik Lihat Build untuk melihat daftar build yang menunggu persetujuan Anda.

  3. Klik kotak centang pada build yang ingin Anda setujui. Anda dapat memilih beberapa build untuk disetujui atau satu build untuk disetujui.

  4. Di bagian atas halaman, klik Setujui untuk menyetujui build yang Anda pilih.

  5. Sebelum build dimulai, Anda akan melihat kotak dialog Approve build. Dalam kotak dialog, Anda dapat menambahkan pesan opsional dan URL yang akan ditampilkan bersama persetujuan build. Untuk menyertakan URL, klik Tampilkan opsi tambahan untuk memasukkan URL.

  6. Di kotak dialog, klik Setujui untuk menyetujui build.

Setelah Anda menyetujui, pembuatan akan segera dimulai. Jika kebijakan organisasi (constraints/cloudbuild.allowedIntegrations) menolak akses ke repositori yang terhubung, kebijakan tersebut akan menggantikan persetujuan. Untuk mempelajari lebih lanjut, lihat Mengatur build berdasarkan kebijakan organisasi.

gcloud

Untuk menyetujui build yang tertunda menggunakan gcloud commands, jalankan perintah berikut di jendela terminal:

gcloud builds approve BUILD_ID \
  --project=PROJECT_ID \
  --url=URL \
  --comment=COMMENT

Ganti nilai placeholder dalam perintah di atas dengan nilai berikut:

  • BUILD_ID adalah ID build yang ingin Anda setujui.
  • PROJECT_ID adalah project ID Anda.
  • [Opsional] URL adalah URL yang berisi informasi tentang persetujuan, seperti link ke tiket JIRA.
  • [Opsional] COMMENT adalah pesan yang ingin Anda tampilkan setelah build disetujui.

Setelah Anda menyetujui, pembuatan akan segera dimulai. Jika kebijakan organisasi untuk menentukan build untuk integrasi yang diizinkan (constraints/cloudbuild.allowedIntegrations) ditetapkan, kebijakan tersebut akan menggantikan persetujuan. Untuk mempelajari lebih lanjut, lihat Menerapkan kebijakan organisasi ke pemicu build.

Menolak build

Konsol

Untuk menolak build yang menunggu keputusan di konsol Google Cloud :

  1. Buka halaman Cloud Build Dashboard di konsol Google Cloud .

    Buka halaman Dasbor Cloud Build

  2. Jika ada build yang perlu disetujui, Anda akan melihat pesan di bagian atas halaman dengan jumlah build yang menunggu persetujuan Anda. Di sebelah kanan pesan, klik Lihat Build untuk melihat daftar build yang menunggu persetujuan Anda.

  3. Anda dapat memilih beberapa build untuk ditolak atau satu build individual untuk ditolak. Klik kotak centang pada build yang ingin Anda tolak.

  4. Klik Tolak di bagian atas halaman untuk menolak build.

Jika Anda menolak build, build tidak akan dimulai.

gcloud

Untuk menolak build yang tertunda menggunakan gcloud commands, jalankan perintah berikut di jendela terminal Anda:

gcloud builds reject BUILD_ID \
  --project=PROJECT_ID \
  --url=URL \
  --comment=COMMENT

Ganti nilai placeholder dalam perintah di atas dengan nilai berikut:

  • BUILD_ID adalah ID build yang ingin Anda tolak.
  • PROJECT_ID adalah project ID Anda.
  • [Opsional] URL adalah URL yang berisi informasi tentang penolakan, seperti link ke tiket JIRA.
  • [Opsional] COMMENT adalah pesan yang ingin Anda tampilkan saat build ditolak.

Jika Anda menolak build, build tidak akan pernah dimulai.

Menerima notifikasi untuk build yang menunggu persetujuan

Anda dapat menggunakan notifikasi Cloud Build untuk menerima notifikasi tentang build yang tertunda menggunakan notifikasi yang dikelola Cloud Build, seperti server Slack atau SMTP, atau dengan membuat notifikasi Anda sendiri.

Untuk mengonfigurasi notifikasi:

  1. Ikuti petunjuk di salah satu halaman berikut untuk mengonfigurasi notifikasi untuk layanan yang Anda inginkan:

  2. Saat mengonfigurasi notifikasi menggunakan salah satu halaman di atas, Anda harus mengonfigurasi notifikasi untuk memfilter build dengan status PENDING. Anda akan menerima notifikasi tentang build yang menunggu persetujuan. Dalam contoh file konfigurasi notifikasi SMTP berikut, kolom filter menggunakan Common Expression Language (CEL) untuk memfilter peristiwa build dengan status PENDING:

    apiVersion: cloud-build-notifiers/v1
    kind: SMTPNotifier
    metadata:
      name: example-smtp-notifier
    spec:
      notification:
        filter: build.status == Build.Status.PENDING
        delivery:
          server: example.gmail.com
          port: 0000
          sender: sender@example.com
          ...
    

    Untuk melihat contoh lengkap, lihat file konfigurasi notifikasi untuk notifikasi SMTP.

  3. Untuk men-deploy notifikasi, jalankan perintah gcloud run di terminal Anda. Contoh berikut men-deploy notifikasi SMTP menggunakan Cloud Run.

    gcloud run deploy example.gmail.com \
      --image=us-east1-docker.pkg.dev/gcb-release/cloud-build-notifiers/smtp:latest \
      --update-env-vars=CONFIG_PATH=smtp.yaml, PROJECT_ID=my-project
    

Sekarang Anda akan menerima notifikasi untuk build yang tertunda ke layanan Anda.

Langkah berikutnya