Cloud Build memungkinkan Anda membuat pemicu untuk membangun dari repositori yang dihosting di Bitbucket Cloud. Anda dapat menjalankan build sebagai respons terhadap peristiwa seperti push commit atau permintaan penggabungan yang terkait dengan repositori Bitbucket Cloud Anda.
Halaman ini menjelaskan cara mengaktifkan pemicu build untuk instance Bitbucket Cloud. Untuk mengetahui informasi selengkapnya, lihat Pemicu Cloud Build dan Repositori Cloud Build.
Sebelum memulai
Ikuti petunjuk untuk terhubung ke host Bitbucket Cloud.Aktifkan Cloud Build dan Secret Manager API, jika ada yang belum diaktifkan.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.
Untuk membuat pemicu bagi repositori Bitbucket Cloud, Anda harus memiliki koneksi antara Google Cloud dan repositori Anda. Untuk membuat koneksi melalui aplikasi Bitbucket Cloud di Google Cloud, lihat Menghubungkan ke repositori Bitbucket Cloud.
Membuat pemicu Bitbucket Cloud
Bagian ini menjelaskan cara membuat pemicu dan menautkannya ke penginstalan Bitbucket Cloud Anda.
Konsol Google Cloud
Untuk membuat pemicu Bitbucket Cloud menggunakan konsol Google Cloud , lakukan hal berikut:
Buka halaman Pemicu di Google Cloud konsol.
Pilih project Google Cloud Anda, lalu klik Buka.
Klik Create trigger.
Masukkan setelan pemicu berikut:
Nama: Masukkan nama pemicu Anda.
Region: Pilih region untuk pemicu Anda.
- Jika file konfigurasi build yang terkait dengan pemicu menentukan kumpulan pribadi, maka Cloud Build akan menggunakan kumpulan pribadi untuk menjalankan build Anda. Dalam kasus ini, region yang Anda tentukan di pemicu harus cocok dengan region tempat Anda membuat pool pribadi.
- Jika file konfigurasi build yang terkait dengan pemicu tidak menentukan kumpulan pribadi, Cloud Build akan menggunakan kumpulan default untuk menjalankan build Anda di region yang sama dengan pemicu.
Deskripsi (opsional): Masukkan deskripsi untuk pemicu Anda.
Peristiwa: Pilih peristiwa repositori untuk memanggil pemicu Anda.
Push ke cabang: Tetapkan pemicu untuk memulai build pada commit ke cabang tertentu.
Mendorong tag baru: Tetapkan pemicu untuk memulai build pada commit yang berisi tag tertentu.
Permintaan pull: Tetapkan pemicu untuk memulai build pada commit ke permintaan pull.
Sumber: Konfigurasi informasi tentang repositori Bitbucket Cloud Anda:
Layanan repositori: Pilih repositori Cloud Build.
Pembuatan repositori: Pilih Generasi ke-2 sebagai sumber Anda.
Repositori: Dari daftar repositori yang tersedia, pilih repositori.
Cabang atau Tag: Tentukan ekspresi reguler dengan cabang atau nilai tag yang akan dicocokkan. Untuk mengetahui informasi mengenai sintaksis ekspresi reguler yang dapat diterima, lihat sintaksis RE2.
Kontrol komentar: Jika Anda memilih permintaan pull sebagai Peristiwa, pilih salah satu opsi berikut untuk mengontrol apakah build dieksekusi secara otomatis oleh pemicu:
Diperlukan kecuali untuk pemilik dan kolaborator: Saat permintaan penarikan dibuat atau diperbarui oleh pemilik atau kolaborator repositori, build akan otomatis dieksekusi oleh pemicu. Jika kontributor eksternal memulai tindakan, build hanya dieksekusi setelah pemilik atau kolaborator mengomentari
/gcbrunpada permintaan pull.Wajib: Saat permintaan pull dibuat atau diperbarui oleh kontributor mana pun, build hanya dijalankan setelah pemilik atau kolaborator mengomentari permintaan pull dengan
/gcbrun. Build dieksekusi setiap kali perubahan dilakukan pada permintaan pull.Tidak diperlukan: Saat permintaan pull dibuat atau diperbarui oleh kontributor mana pun, build akan otomatis dieksekusi oleh pemicu.
Konfigurasi: Pilih file konfigurasi build yang ada di repositori Anda atau konfigurasi build secara inline di pemicu.
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.
Lokasi: Tentukan lokasi untuk konfigurasi Anda.
Repositori: Jika file konfigurasi Anda berada di repositori, berikan lokasi file konfigurasi build atau direktori
Dockerfiledan nama untuk image yang dihasilkan. Jika konfigurasi Anda adalahDockerfile, Anda dapat secara opsional memberikan waktu tunggu untuk build Anda. Setelah memberikanDockerfiledan nama gambar, Anda akan melihat pratinjau perintahdocker builduntuk build Anda.Inline: Jika Anda memilih File konfigurasi Cloud Build (yaml atau json) sebagai opsi konfigurasi, Anda dapat menentukan konfigurasi build inline. Klik Open Editor untuk menulis file konfigurasi build di konsolGoogle Cloud menggunakan sintaksis YAML atau JSON. Klik Selesai untuk menyimpan konfigurasi build Anda.
Klik Create untuk membuat pemicu Bitbucket Cloud.
gcloud CLI
Untuk membuat pemicu Bitbucket Cloud menggunakan perintah gcloud, jalankan perintah berikut:
gcloud builds triggers create bitbucket-cloud \
--name=TRIGGER_NAME \
--repository=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/repositories/REPO_NAME \
--branch-pattern=BRANCH_PATTERN # or --tag-pattern=TAG_PATTERN \
--build-config=BUILD_CONFIG_FILE \
--region=REGION \
--service-account=SERVICE-ACCOUNT
Dengan:
- TRIGGER_NAME adalah nama pemicu Anda.
- PROJECT_ID adalah Google Cloud project ID Anda.
- REGION adalah region pemicu Anda.
- CONNECTION_NAME adalah nama koneksi Bitbucket Cloud Anda.
- REPO_NAME adalah nama repositori Anda
- BRANCH_PATTERN adalah nama cabang di repositori Anda untuk memanggil build.
- TAG_PATTERN adalah nama tag di repositori Anda untuk memanggil build.
- BUILD_CONFIG_FILE adalah jalur ke file konfigurasi build Anda.
- SERVICE-ACCOUNT adalah akun layanan yang akan digunakan untuk operasi pemicu dan build.
API
Untuk membuat pemicu Bitbucket Cloud dengan API, gunakan template JSON berikut:
{
"filename": "cloudbuild.yaml",
"name": "curl-trigger",
"description": "curl trigger",
"repository_event_config": {
"repository": "REPO_NAME",
"repository_type": "BITBUCKET_CLOUD",
// Field filter must be only one of the following:
"pullRequest": "PULL_REQUEST_FILTER",
"push": "PUSH_FILTER"
}
}
Dengan:
- "REPO_NAME" adalah nama repositori Anda.
- "PULL_REQUEST_FILTER" adalah instance
PullRequestFilter, yang menentukan filter yang memungkinkan Cloud Build memicu build saat permintaan pull yang cocok dibuat di Bitbucket Cloud. - "PUSH_FILTER" adalah instance
PushFilter, yang menentukan filter yang memungkinkan Cloud Build memicu build saat push yang cocok dilakukan di Bitbucket Cloud.
Masukkan perintah curl berikut di terminal Anda:
curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/triggers -d @trigger.json
Dengan:
- PROJECT_NUMBER adalah nomor project Google Cloud Anda.
- PROJECT_ID adalah Google Cloud project ID Anda.
Berbagi data
Data yang dikirim ke Bitbucket Cloud dari Cloud Build membantu Anda mengidentifikasi pemicu berdasarkan nama dan melihat hasil build di repositori Bitbucket Cloud.
Data berikut dibagikan antara Cloud Build dan host Bitbucket Cloud Anda:
- Google Cloud project ID
- Nama pemicu
Langkah berikutnya
- Pelajari cara membuat dan mengelola pemicu.
- Pelajari cara memulai build secara manual.
- Pelajari cara melihat hasil build.
- Pelajari cara melakukan deployment biru/hijau di Compute Engine.