Pemicu Cloud Build

Cloud Build menggunakan pemicu build untuk mengaktifkan otomatisasi CI/CD. Anda dapat mengonfigurasi pemicu untuk memproses peristiwa masuk, seperti saat commit baru di-push ke repositori atau saat permintaan pull dimulai, lalu otomatis menjalankan build saat peristiwa baru masuk. Anda juga dapat mengonfigurasi pemicu untuk mem-build kode berdasarkan setiap perubahan pada repositori sumber atau hanya pada perubahan yang cocok dengan kriteria tertentu.

Halaman ini memberikan ringkasan tentang setiap jenis pemicu dan kemampuan yang terkait dengan pemicu.

Pemicu peristiwa repositori

Cloud Build memungkinkan Anda menjalankan build secara otomatis pada peristiwa repositori seperti permintaan push atau pull. Anda dapat menghubungkan repositori eksternal, seperti repositori di GitHub atau Bitbucket, ke Cloud Build atau menggunakan kode di Cloud Source Repositories untuk build Anda. Meskipun Anda dapat menghubungkan repositori sumber apa pun ke Cloud Build, Cloud Build menyediakan pemicu peristiwa repositori tertentu yang dapat Anda gunakan untuk mengintegrasikan sistem pengelolaan kode sumber (SCM) tertentu. Bagian ini membahas pemicu peristiwa repositori yang tersedia.

Pemicu GitHub

Anda dapat membuat pemicu GitHub untuk otomatis menjalankan build sebagai respons terhadap peristiwa repositori, seperti permintaan pull atau push. Anda dapat melihat status build pemicu di GitHub dan Konsol Google Cloud. Anda juga dapat menggunakan aplikasi GitHub Cloud Build untuk menghubungkan dan mem-build kode di GitHub. Untuk mempelajari lebih lanjut, lihat Mem-build repositori dari GitHub.

Pemicu GitHub Enterprise

Anda dapat membuat pemicu untuk repositori yang dihosting di instance GitHub Enterprise, termasuk instance yang dihosting di lingkungan lokal dan tidak dapat dijangkau melalui koneksi internet publik. Pemicu GitHub Enterprise dapat digunakan untuk menjalankan build sebagai respons terhadap permintaan push atau pull dari instance GitHub Enterprise. Untuk mempelajari lebih lanjut, lihat Mem-build repositori dari GitHub Enterprise.

Pemicu GitLab Enterprise Edition

Anda dapat membuat pemicu untuk repositori yang dihosting di instance GitLab Enterprise Edition, termasuk instance yang dihosting di jaringan pribadi. Pemicu GitLab Enterprise Edition dapat digunakan untuk menjalankan build sebagai respons terhadap push commit atau permintaan pull yang terkait dengan repositori GitLab Enterprise Edition Anda. Untuk mempelajari lebih lanjut, lihat Mem-build repositori dari GitLab Enterprise Edition.

Pemicu Bitbucket Server

Anda dapat membuat pemicu untuk repositori yang dihosting di instance Bitbucket Server, termasuk instance yang dihosting di lingkungan lokal. Anda dapat menghubungkan repositori Bitbucket Server ke Cloud Build beberapa kali dengan beberapa koneksi host. Untuk mempelajari lebih lanjut cara membuat pemicu untuk menjalankan build sebagai respons terhadap peristiwa, lihat Mem-build repositori dari Bitbucket Server.

Pemicu Pusat Data Bitbucket

Anda dapat membuat pemicu untuk repositori yang dihosting di instance Pusat Data Bitbucket, termasuk instance yang dihosting di lingkungan lokal. Pemicu Pusat Data Bitbucket dapat digunakan untuk menjalankan build sebagai respons terhadap peristiwa seperti push commit atau permintaan pull. Untuk mempelajari lebih lanjut, lihat Mem-build repositori dari Pusat Data Bitbucket.

Pemicu Bitbucket Cloud

Anda dapat membuat pemicu untuk repositori yang dihosting di Bitbucket Cloud. Pemicu Bitbucket Cloud dapat digunakan untuk menjalankan build sebagai respons terhadap peristiwa seperti push commit atau permintaan pull. Untuk mempelajari lebih lanjut, lihat Mem-build repositori dari Cloud Bitbucket.

Pemicu manual

Anda dapat membuat pemicu manual untuk mengeksekusi build secara manual dan mengganti nilai variabel penggantian yang ditentukan pada waktu pemanggilan sebelum mengeksekusi build. Anda juga dapat mengonfigurasi pemicu manual untuk berjalan sesuai jadwal. Untuk mempelajari lebih lanjut, lihat Mem-build kode secara manual di repositori sumber.

Pemicu Pub/Sub

Anda dapat membuat pemicu Pub/Sub untuk menjalankan build sebagai respons terhadap pesan apa pun yang dipublikasikan melalui Pub/Sub. Misalnya, Anda dapat menggunakan pemicu Pub/Sub untuk mem-build sebagai respons terhadap pengiriman image ke Artifact Registry. Dalam hal ini, Anda dapat mengonfigurasi pemicu untuk menggunakan filter guna menjalankan build hanya jika image yang didorong cocok dengan tag tertentu, seperti prod. Selain itu, pemicu Pub/Sub dapat dikonfigurasi untuk berlangganan topik Pub/Sub apa pun. Untuk mempelajari lebih lanjut, lihat Mengotomatiskan build sebagai respons terhadap peristiwa Pub/Sub.

Pemicu webhook

Anda dapat membuat pemicu webhook untuk menjalankan build sebagai respons terhadap webhook. Peristiwa webhook yang dikirim ke URL kustom memungkinkan Anda langsung menghubungkan sistem eksternal dan sistem pengelolaan kode sumber eksternal (SCM), seperti Bitbucket.com, Bitbucket Server, atau GitLab, ke Cloud Build. Saat membuat pemicu webhook, Anda juga dapat menentukan konfigurasi build secara inline di pemicu untuk mengontrol repositori yang di-clone pemicu selama waktu build, bukan menentukan sumber secara eksplisit. Untuk mempelajari lebih lanjut, lihat Mengotomatiskan build sebagai respons terhadap peristiwa webhook. Selain itu, untuk mempelajari cara menggunakan pemicu webhook guna mem-build repositori dari SCM tertentu, lihat Mem-build repositori dari Bitbucket Server, Mem-build repositori dari Bitbucket Cloud, dan Mem-build repositori dari GitLab.

Kemampuan pemicu

Pemicu Cloud Build menyediakan kemampuan yang memberi Anda kontrol terperinci atas cara build dijalankan. Bagian ini membahas berbagai kemampuan yang terkait dengan pemicu.

Pemicu manual terjadwal

Anda dapat menjadwalkan pemicu manual untuk mengeksekusi build secara otomatis sesuai jadwal yang telah ditentukan. Misalnya, Anda mungkin ingin mengonfigurasi pemicu terjadwal untuk menjalankan build setiap hari Sabtu pukul 06.00. Untuk menjadwalkan build, Anda dapat membuat pemicu manual dan memanggil pemicu menggunakan Cloud Scheduler. Untuk mempelajari lebih lanjut, lihat Menjadwalkan build.

Memfilter peristiwa

Cloud Build menggunakan Common Expression Language (CEL) dengan variabel, build, pada kolom yang tercantum dalam resource Build untuk mengakses kolom yang terkait dengan peristiwa build Anda seperti ID pemicu, daftar image, atau nilai penggantian. Anda dapat menggunakan string filter untuk memfilter peristiwa build dalam file konfigurasi build menggunakan kolom apa pun yang tercantum dalam resource Build. Untuk mempelajari lebih lanjut, lihat Menggunakan CEL untuk memfilter peristiwa build

Variabel substitusi

Anda dapat menentukan variabel penggantian dalam file konfigurasi build untuk mengganti nilai tertentu pada waktu build. Misalnya, Anda mungkin ingin menggunakan variabel penggantian jika nilai tidak diketahui hingga waktu build atau jika Anda ingin menggunakan kembali permintaan build yang ada dengan variabel yang berbeda. Cloud Build menyediakan penggantian default yang dapat Anda gunakan untuk build yang dipanggil oleh pemicu, seperti variabel yang dipetakan ke nama pemicu atau nama repositori. Anda juga dapat menentukan variabel penggantian Anda sendiri. Untuk mempelajari lebih lanjut, lihat Mengganti nilai variabel.

Ekspansi parameter bash

Anda dapat menerapkan ekspansi parameter bash ke nilai variabel penggantian. Ekspansi parameter Bash memungkinkan Anda memanipulasi string yang terkait dengan variabel yang ada. Misalnya, Anda dapat menggunakan ekspansi parameter bash untuk menggunakan huruf kapital atau mengganti substring. Untuk mempelajari lebih lanjut, lihat Ekspansi parameter Bash.

Binding payload

Anda dapat menyimpan bagian dari payload peristiwa pemicu sebagai variabel penggantian menggunakan binding payload. Variabel yang terkait dengan payload disebut sebagai binding dan tersedia untuk build yang dipanggil oleh peristiwa push dan pull. Anda dapat menggunakan binding untuk mengakses data tambahan yang terkait dengan build, seperti penulis permintaan pull. Untuk mempelajari lebih lanjut, lihat Penautan payload.

Persetujuan

Anda dapat mengonfigurasi pemicu agar 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. Untuk mempelajari cara mengonfigurasi pemicu yang memerlukan persetujuan, lihat Mengatur build berdasarkan persetujuan.

Membuat notifikasi status

Anda dapat mengonfigurasi notifikasi Cloud Build untuk memproses update peristiwa build dari topik cloud-builds Pub/Sub. Pemberi notifikasi juga dapat memfilter pesan yang diterima oleh topik dan mengirim pesan ke layanan yang terhubung. Cloud Build menyediakan dan mengelola image notifikasi yang dapat di-deploy di repositori cloud-build-notifiers. Anda dapat mengonfigurasi notifikasi menggunakan notifikasi Cloud Build, seperti BigQuery, HTTP, Slack, atau SMTP, atau membuat notifikasi Anda sendiri.

Langkah selanjutnya