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 mengeksekusi build secara otomatis 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 setiap jenis pemicu dan kemampuan yang terkait dengan pemicu.

Pemicu peristiwa repositori

Cloud Build memungkinkan Anda menjalankan build secara otomatis pada peristiwa repositori seperti push atau permintaan 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 push atau permintaan pull. 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 bagian Membangun 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 mengeksekusi build sebagai respons terhadap push atau permintaan pull dari instance GitHub Enterprise. Untuk mempelajari lebih lanjut, lihat Membangun 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 mengeksekusi build sebagai respons terhadap push commit atau permintaan pull yang terkait dengan repositori GitLab Enterprise Edition Anda. Untuk mempelajari lebih lanjut, lihat Membangun 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 Membangun repositori dari Bitbucket Server.

Pemicu Pusat Data Bitbucket

Anda dapat membuat pemicu untuk repositori yang dihosting di instance Bitbucket Data Center, termasuk instance yang dihosting di lingkungan lokal. Pemicu Bitbucket Data Center dapat digunakan untuk mengeksekusi build sebagai respons terhadap peristiwa seperti push commit atau pull request. Untuk mempelajari lebih lanjut, lihat bagian Membangun 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 mengeksekusi build sebagai respons terhadap peristiwa seperti push commit atau pull request. Untuk mempelajari lebih lanjut, lihat Membangun repositori dari Bitbucket Cloud.

Pemicu Secure Source Manager

Anda dapat membuat pemicu untuk repositori yang dihosting di Secure Source Manager. Pemicu Secure Source Manager dapat digunakan untuk menjalankan build sebagai respons terhadap peristiwa seperti push commit atau permintaan pull. Untuk mempelajari lebih lanjut, lihat Membuat file pemicu di Secure Source Manager.

Pemicu manual

Anda dapat membuat pemicu manual untuk mengeksekusi build secara manual dan mengganti nilai variabel substitusi yang ditentukan pada waktu pemanggilan sebelum mengeksekusi build. Anda juga dapat mengonfigurasi pemicu manual untuk dijalankan sesuai jadwal. Untuk mempelajari lebih lanjut, lihat Membangun 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 membangun sebagai respons terhadap pengiriman image ke Artifact Registry. Dalam hal ini, Anda dapat mengonfigurasi pemicu untuk menggunakan filter guna mengeksekusi build hanya jika image yang di-push cocok dengan tag tertentu, seperti prod. Selain itu, pemicu Pub/Sub dapat dikonfigurasi untuk berlangganan ke 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. Dengan peristiwa webhook yang dikirim ke URL kustom, Anda dapat menghubungkan sistem eksternal dan sistem pengelolaan kode sumber (SCM) eksternal, seperti Bitbucket.com, Bitbucket Server, atau GitLab, langsung ke Cloud Build. Saat membuat pemicu webhook, Anda juga dapat menentukan konfigurasi build sebaris pada pemicu untuk mengontrol repositori mana yang dikloning 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 membangun repositori dari SCM tertentu, lihat Membangun repositori dari Bitbucket Server, Membangun repositori dari Bitbucket Cloud, dan Membangun repositori dari GitLab.

Pemicu untuk repositori yang ditautkan ke Developer Connect

Developer Connect memungkinkan Anda menghubungkan produk eksternal atau alat developer non-Google ke Google Cloud menggunakan langkah dan aplikasi standar. Anda dapat mengonfigurasi pemicu yang membangun dari repositori yang terhubung melalui Developer Connect untuk SCM berikut:

Kemampuan pemicu

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

Pemicu manual terjadwal

Anda dapat menjadwalkan pemicu manual untuk otomatis menjalankan build sesuai 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 penggantian. Anda dapat menggunakan string filter untuk memfilter peristiwa build di 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 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 pengganti 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 membuat huruf kapital atau mengganti substring. Untuk mempelajari lebih lanjut, lihat Ekspansi parameter Bash.

Binding payload

Anda dapat menyimpan sebagian payload peristiwa pemicu sebagai variabel pengganti 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 Anda, seperti penulis permintaan pull. Untuk mempelajari lebih lanjut, lihat Pengikatan payload.

Persetujuan

Anda dapat mengonfigurasi pemicu agar tidak segera mengeksekusi build, tetapi menandai build sebagai tertunda hingga disetujui. Jika pengguna dengan izin menyetujui build yang tertunda, build akan dimulai. Jika persetujuan ditolak, build tidak akan dimulai. Untuk mempelajari cara mengonfigurasi pemicu yang memerlukan persetujuan, lihat Mengatur build berdasarkan persetujuan.

Notifikasi status build

Anda dapat mengonfigurasi notifikasi Cloud Build untuk memantau update peristiwa build dari Pub/Sub di topik cloud-builds default atau topik yang ditentukan pengguna. Notifikasi juga dapat memfilter pesan yang diterima oleh topik dan mengirim pesan ke layanan yang terhubung. Cloud Build menyediakan dan memelihara 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 berikutnya