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
- Pelajari cara membuat dan mengelola pemicu build.