Cloud Build menggunakan pemicu build untuk mengaktifkan otomatisasi CI/CD. Anda dapat mengonfigurasi pemicu untuk memproses peristiwa masuk, seperti saat commit baru didorong ke repositori atau saat permintaan pull dimulai, lalu otomatis mengeksekusi build saat peristiwa baru masuk. Anda juga dapat mengonfigurasi pemicu untuk mem-build kode pada setiap perubahan pada repositori sumber atau hanya pada perubahan yang sesuai dengan kriteria tertentu.
Halaman ini menyediakan ringkasan setiap jenis dan kemampuan pemicu yang terkait dengan pemicu.
Pemicu peristiwa repositori
Dengan Cloud Build, Anda dapat otomatis mengeksekusi build 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 ke Cloud Build, Cloud Build menyediakan pemicu peristiwa repositori tertentu yang dapat digunakan 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 push atau permintaan pull. Anda dapat melihat status build pemicu di GitHub dan Konsol Google Cloud. Anda juga dapat menggunakan aplikasi Cloud Build GitHub untuk menghubungkan dan mem-build kode di GitHub. Untuk mempelajari lebih lanjut, lihat Membuat 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 Membuat repositori dari GitHub Enterprise.
Pemicu GitLab Enterprise Edition
Anda dapat membuat pemicu untuk repositori yang dihosting di instance Edisi Perusahaan GitLab, termasuk instance yang dihosting di jaringan pribadi. Pemicu GitLab Enterprise Edition dapat digunakan untuk menjalankan build sebagai respons terhadap permintaan push atau pull commit yang terkait dengan repositori GitLab Enterprise Edition Anda. Untuk mempelajari lebih lanjut, lihat Membuat repositori dari GitLab Enterprise Edition.
Pemicu Bitbucket Server
Anda dapat membuat pemicu untuk repositori yang dihosting di instance Server Bitbucket, 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 Membuat 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 Membuat repositori dari Pusat Data Bitbucket.
Pemicu Bitbucket Cloud
Anda dapat membuat pemicu untuk repositori yang dihosting di Bitbucket Cloud. Pemicu Cloud Bitbucket dapat digunakan untuk menjalankan build sebagai respons terhadap peristiwa seperti push commit atau permintaan pull. Untuk mempelajari lebih lanjut, lihat Membangun repositori dari Bitbucket Cloud.
Pemicu manual
Anda dapat membuat pemicu manual untuk mengeksekusi build secara manual dan mengganti nilai variabel substitusi yang ditentukan pada waktu pemanggilan sebelum menjalankan build. Anda juga dapat mengonfigurasi pemicu manual agar berjalan sesuai jadwal. Untuk mempelajari lebih lanjut, lihat Membuat kode di repositori sumber secara manual.
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 proses build sebagai respons terhadap pengiriman image ke Artifact Registry. Dalam hal ini, Anda dapat mengonfigurasi pemicu untuk menggunakan filter guna
menjalankan build hanya jika gambar yang dikirim 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 untuk menghubungkan langsung sistem eksternal dan sistem pengelolaan kode sumber (SCM) eksternal, seperti Bitbucket.com, Bitbucket Server, atau GitLab, ke Cloud Build. Saat membuat pemicu webhook, Anda juga dapat menentukan konfigurasi build secara inline pada pemicu untuk mengontrol repositori mana yang di-clone oleh pemicu selama waktu build daripada menentukan sumber secara eksplisit. Untuk mempelajari lebih lanjut, lihat Mengotomatiskan build sebagai respons terhadap peristiwa webhook. Selain itu, untuk mempelajari cara menggunakan pemicu webhook untuk membangun repositori dari SCM tertentu, lihat Membangun repositori dari Bitbucket Server, Membuat repositori dari Bitbucket Cloud, dan Membuat repositori dari GitLab.
Kemampuan pemicu
Pemicu Cloud Build menyediakan kemampuan yang memberi Anda kontrol terperinci terkait cara eksekusi build. Bagian ini membahas berbagai kemampuan yang terkait dengan pemicu.
Pemicu manual terjadwal
Anda dapat menjadwalkan pemicu manual untuk otomatis menjalankan build pada jadwal yang telah ditentukan. Misalnya, Anda dapat 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 substitusi. Anda dapat menggunakan string filter
untuk memfilter peristiwa build di file konfigurasi build menggunakan kolom yang tercantum dalam resource Build. Untuk mempelajari lebih lanjut, lihat Menggunakan CEL untuk memfilter peristiwa build
Variabel substitusi
Anda dapat menentukan variabel substitusi dalam file konfigurasi build untuk mengganti nilai tertentu pada waktu build. Misalnya, Anda mungkin ingin menggunakan variabel substitusi jika suatu nilai tidak diketahui hingga waktu build, atau jika Anda ingin menggunakan kembali permintaan build yang ada dengan variabel yang berbeda. Cloud Build menyediakan substitusi default yang dapat Anda gunakan untuk build yang dipanggil oleh pemicu, seperti pemetaan variabel ke nama pemicu atau nama repositori Anda. Anda juga dapat menentukan variabel substitusi Anda sendiri. Untuk mempelajari lebih lanjut, lihat Mengganti nilai variabel.
Perluasan parameter Bash
Anda dapat menerapkan ekspansi parameter bash ke nilai variabel substitusi. Perluasan parameter Bash memungkinkan Anda memanipulasi string yang terkait dengan variabel yang ada. Misalnya, Anda dapat menggunakan perluasan parameter bash untuk menggunakan huruf besar atau mengganti substring. Untuk mempelajari lebih lanjut, lihat perluasan parameter Bash.
Binding payload
Anda dapat menyimpan bagian dari payload peristiwa pemicu sebagai variabel substitusi menggunakan binding payload. Variabel yang terkait dengan payload disebut 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 Binding payload.
Persetujuan
Anda dapat mengonfigurasi pemicu agar tidak langsung menjalankan build, tetapi menandai build sebagai tertunda hingga disetujui. Jika pengguna yang memiliki izin menyetujui build yang tertunda, build akan dimulai. Jika persetujuan ditolak, build tidak akan dimulai. Untuk mempelajari cara mengonfigurasi pemicu yang memerlukan persetujuan, lihat Membuat akses berdasarkan persetujuan.
Notifikasi status build
Anda dapat mengonfigurasi notifikasi Cloud Build untuk memproses update peristiwa build dari topik cloud-builds
Pub/Sub. Pemberi tahu juga dapat memfilter pesan yang diterima berdasarkan topik dan mengirim pesan ke layanan yang terhubung. Cloud Build menyediakan dan memelihara gambar pemberi 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.