Cloud Build memungkinkan Anda menentukan pemicu webhook, yang dapat mengautentikasi dan menerima peristiwa webhook masuk. Peristiwa ini, yang dikirim ke URL kustom, memungkinkan Anda menghubungkan sistem eksternal dan sistem pengelolaan kode sumber eksternal seperti Bitbucket.com, Bitbucket Server, atau GitLab, langsung ke Cloud Build melalui peristiwa webhook.
Dengan pemicu webhook, Anda dapat menentukan file konfigurasi build inline, bukan menentukan sumber saat membuat pemicu. Konfigurasi build inline memberi Anda kontrol atas operasi Git dan memungkinkan Anda menentukan bagian build lainnya.
Halaman ini menguraikan cara membuat pemicu webhook untuk mengotomatiskan build sebagai respons terhadap peristiwa webhook.
Sebelum memulai
Aktifkan Cloud Build dan Secret Manager API.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran.
Untuk menggunakan
gcloudperintah di halaman ini, instal Google Cloud CLI.
Membuat pemicu webhook
Konsol
Untuk membuat pemicu webhook menggunakan Google Cloud konsol:
Buka halaman Pemicu:
Pilih project Anda dari bagian atas halaman, lalu klik Buka.
Klik Buat pemicu.
Masukkan setelan pemicu berikut:
- Nama: Nama untuk pemicu Anda.
Region: Pilih region untuk pemicu Anda.
Jika file konfigurasi build yang terkait dengan pemicu menentukan pool pribadi, Cloud Build akan menggunakan pool pribadi untuk menjalankan build Anda. Dalam hal ini, region yang Anda tentukan dalam pemicu harus cocok dengan region tempat Anda membuat pool pribadi.
Jika file konfigurasi build yang terkait dengan pemicu tidak menentukan pool pribadi, Cloud Build akan menggunakan pool default untuk menjalankan build Anda di region yang sama dengan pemicu Anda.
- Deskripsi (Opsional): Deskripsi untuk pemicu Anda.
- Peristiwa: Pilih Peristiwa webhook untuk menyiapkan pemicu agar memulai build sebagai respons terhadap peristiwa webhook masuk.
URL Webhook: Gunakan URL webhook untuk mengautentikasi peristiwa webhook masuk.
Secret: Anda akan memerlukan secret untuk mengautentikasi peristiwa webhook masuk. Anda dapat membuat secret baru atau menggunakan secret yang sudah ada. Secret ini terpisah dari secret yang terkait dengan kunci SSH Anda.
Untuk membuat secret baru:
- Pilih Gunakan secret baru (dibuat oleh Cloud Build).
Klik Buat Secret.
Anda akan melihat dialog Buat secret webhook.
Di kolom Nama secret, masukkan nama untuk secret Anda.
Klik Buat secret untuk menyimpan secret Anda, yang akan otomatis dibuat dan disimpan untuk Anda di Secret Manager.
Untuk menggunakan secret yang sudah ada:
Pilih Gunakan secret yang sudah ada atau buat secret Anda sendiri.
Di kolom Secret, pilih nama secret yang ingin Anda gunakan dari menu drop-down atau ikuti petunjuk untuk menambahkan secret berdasarkan ID resource.
Di kolom Versi secret, pilih versi secret Anda dari menu drop-down.
Jika menggunakan secret yang sudah ada, Anda mungkin perlu memberikan peran Secret Manager Secret Accessor ke akun layanan Cloud Build Anda,
service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.comsecara manual. Untuk mempelajari lebih lanjut, lihat Memberikan peran Secret Manager ke akun layanan Anda.
Setelah membuat atau memilih secret, Anda akan melihat Pratinjau URL Webhook. URL Anda akan berisi kunci API yang dibuat oleh Cloud Build dan secret Anda. Jika Cloud Build tidak dapat mengambil kunci API Anda, Anda dapat menambahkan kunci API secara manual ke URL atau mempelajari cara mendapatkan kunci API jika Anda belum memilikinya.
Anda dapat menggunakan URL untuk memanggil peristiwa webhook dengan membuat permintaan HTTP menggunakan metode POST.
Gunakan perintah berikut untuk memanggil peristiwa webhook:
curl -X POST -H "Content-type: application/json" "https://cloudbuild.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/triggers/${TRIGGER_NAME}:webhook?key=${API_KEY}&secret=${SECRET_VALUE}&trigger=${TRIGGER_NAME}&projectId=${PROJECT_ID}" -d "{}"Setelah menyelesaikan langkah-langkah ini, peran Secret Manager Secret Accessor akan otomatis diberikan ke agen layanan Cloud Build Anda,
service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.com. Jika Anda tidak melihat peran ini otomatis ditambahkan ke agen layanan Anda, selesaikan langkah-langkah berikut yang diuraikan dalam Memberikan peran Secret Manager ke akun layanan Anda.
Sumber (opsional): Pilih sumber untuk dibangun saat pemicu webhook berjalan. Jika Anda menentukan konfigurasi build inline, Anda tidak perlu menentukan sumber berikut. Anda dapat menentukan generasi ke-1 atau generasi ke-2 sebagai sumber. Untuk mempelajari lebih lanjut, lihat Repositori Cloud Build.
Repositori: Dari daftar repositori yang tersedia, pilih repositori yang ingin Anda bangun.
Cabang atau Tag: Tentukan ekspresi reguler dengan cabang atau nilai tag agar sesuai. Untuk mengetahui informasi mengenai sintaksis regular expression yang dapat diterima, lihat sintaksis RE2.
Kontrol komentar: Jika Anda memilih Permintaan pull (hanya Aplikasi GitHub) sebagai Peristiwa, pilih salah satu opsi berikut untuk mengontrol apakah build akan otomatis dieksekusi oleh pemicu:
Wajib kecuali untuk pemilik dan kolaborator: Saat permintaan pull dibuat atau diperbarui oleh pemilik atau kolaborator repositori, build akan otomatis dieksekusi oleh pemicu. Jika kontributor eksternal memulai tindakan, build hanya akan dieksekusi setelah pemilik atau kolaborator berkomentar
/gcbrunpada permintaan pull.Wajib: Saat permintaan pull dibuat atau diperbarui oleh kontributor mana pun, build hanya akan dieksekusi setelah pemilik atau kolaborator berkomentar
/gcbrunpada permintaan pull. Build dieksekusi setiap kali perubahan pada permintaan pull dilakukan.Tidak wajib: Saat permintaan pull dibuat atau diperbarui oleh kontributor mana pun, build akan otomatis dieksekusi oleh pemicu.
Konfigurasi: Pilih file konfigurasi build yang terletak di repositori jarak jauh Anda atau buat file konfigurasi build inline untuk digunakan dalam build Anda. Jika Anda tidak menentukan repositori sumber, Anda harus memilih file konfigurasi build Inline sebagai opsi konfigurasi.
- Jenis: Pilih jenis konfigurasi yang akan digunakan untuk build Anda.
- File konfigurasi Cloud Build (yaml atau json): Gunakan file konfigurasi build untuk konfigurasi Anda.
- Dockerfile: Gunakan
Dockerfileuntuk konfigurasi Anda. - Buildpacks: Gunakan buildpacks untuk konfigurasi Anda.
Lokasi: Tentukan lokasi untuk konfigurasi Anda.
- Repositori: Jika file konfigurasi Anda berada di
repositori jarak jauh, berikan lokasi
file konfigurasi build,
Dockerfiledirektori, atau direktori buildpack. Jika jenis konfigurasi build Anda adalahDockerfileatau buildpack, Anda harus memberikan nama untuk image yang dihasilkan dan, secara opsional, waktu tunggu untuk build Anda. Setelah memberikan nama imageDockerfileatau buildpack, Anda akan melihat pratinjau perintahdocker buildataupackyang akan dieksekusi oleh build Anda. - Variabel lingkungan Buildpack (opsional): Jika Anda memilih
buildpackssebagai jenis konfigurasi, klik Tambahkan variabel lingkungan paket untuk menentukan variabel dan nilai lingkungan buildpack Anda. Untuk mempelajari lebih lanjut variabel lingkungan buildpack, lihat Variabel lingkungan. Inline: Jika Anda memilih File konfigurasi Cloud Build (yaml atau json) sebagai opsi konfigurasi, Anda dapat menentukan konfigurasi build inline. Klik Buka Editor untuk menulis file konfigurasi build di Google Cloud konsol menggunakan sintaksis YAML atau JSON. Klik Selesai untuk menyimpan konfigurasi build Anda.
Dalam contoh berikut, file konfigurasi build inline mencatat "hello world":
steps: - name: 'ubuntu' args: ['echo', 'hello world']- Repositori: Jika file konfigurasi Anda berada di
repositori jarak jauh, berikan lokasi
file konfigurasi build,
- Jenis: Pilih jenis konfigurasi yang akan digunakan untuk build Anda.
Substitusi (opsional): Jika Anda memilih file konfigurasi build sebagai opsi konfigurasi build atau membuat file konfigurasi build inline, Anda dapat memilih untuk menentukan variabel substitusi khusus pemicu menggunakan kolom ini. Anda juga dapat memperoleh data menggunakan binding payload saat menentukan nilai variabel substitusi.
Filter (opsional): Anda dapat membuat aturan dalam pemicu yang menentukan apakah pemicu akan mengeksekusi build berdasarkan variabel substitusi Anda.
- Klik Buat untuk membuat pemicu build Anda.
gcloud
Untuk membuat pemicu webhook:
gcloud builds triggers create webhook \ --name=TRIGGER_NAME \ --repo=PATH_TO_REPO \ --repo-type=REPO_TYPE \ --secret=PATH_TO_SECRET \ --substitutions=_SUB_ONE='$(body.message.test)',_SUB_TWO='$(body.message.output)' \ --subscription-filter='_SUB_ONE == "prod"' \ --inline-config=PATH_TO_INLINE_BUILD_CONFIG \ --tag=TAG_NAME # --build-config=PATH_TO_BUILD_CONFIG \ # --branch=BRANCH_NAMEDengan: +
TRIGGER_NAMEadalah nama pemicu Anda. +PATH_TO_REPOadalah jalur ke repositori untuk memanggil build. Misalnya,https://www.github.com/owner/repo. +REPO_TYPEadalah jenis repositori yang ingin Anda panggil build-nya.PATH_TO_SECRETadalah jalur ke secret Anda seperti yang disimpan di Secret Manager. Misalnya,projects/my-project/secrets/my-secret/versions/2.PATH_TO_INLINE_BUILD_CONFIGadalah jalur ke file konfigurasi build inline Anda jika Anda menggunakan--inline-config.TAG_NAMEadalah nama tag Anda jika Anda ingin menetapkan pemicu untuk membangun tag.PATH_TO_BUILD_CONFIGadalah jalur ke file konfigurasi build Anda jika Anda menggunakan--build-config.BRANCH_NAMEadalah nama cabang Anda jika Anda ingin menetapkan pemicu untuk membangun cabang.
(Opsional) Mendapatkan kunci API
Untuk mengautentikasi peristiwa webhook masuk, Anda memerlukan kunci API.
Untuk mendapatkan kunci API:
Buka halaman Credentials di Google Cloud konsol:
Klik Create credentials.
Klik API Key.
Anda akan melihat dialog dengan kunci API yang dibuat. Catat kunci API Anda.
Jika Anda ingin membatasi kunci untuk aplikasi produk, klik Restrict key untuk menyelesaikan langkah-langkah tambahan guna mengamankan kunci Anda. Jika tidak, klik Close.
Untuk mempelajari cara membatasi kunci, lihat Menerapkan batasan kunci API.
(Opsional) Memberikan peran Secret Manager ke akun layanan Anda
Cloud Build otomatis memberikan peran Secret Manager Secret Accessor ke akun layanan yang memerlukan peran tersebut selama konfigurasi secret. Jika Anda tidak melihat peran ini otomatis diberikan ke akun layanan yang diperlukan, selesaikan langkah-langkah berikut untuk menambahkan peran secara manual sehingga akun layanan Anda memiliki akses ke secret Anda:
Buka halaman IAM di Google Cloud konsol:
Opsional: Untuk melihat akun yang disediakan Google, centang kotak Sertakan pemberian peran yang disediakan Google.
Catat akun layanan build yang ingin Anda berikan peran.
Buka halaman Secret Manager di Google Cloud konsol:
Klik nama secret Anda.
Anda akan melihat halaman Detail secret.
Klik tab Permissions.
Klik Grant access.
Anda akan melihat panel Grant access.
Di bagian Add Principals, tambahkan email yang terkait dengan akun layanan build.
Di bagian Assign roles, pilih Secret Manager > Secret Manager Secret Accessor.
Klik Save.
Langkah berikutnya
- Pelajari cara membuat dan mengelola pemicu.
- Pelajari cara membangun repositori yang dihosting di Bitbucket Server.
- Pelajari cara memulai build secara manual.
- Pelajari cara melihat hasil build.
- Pelajari cara memecahkan masalah error build.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2026-05-19 UTC.