Anda dapat menggunakan pemicu Cloud Build untuk memulai build dan men-deploy alur kerja dari repositori Git secara otomatis. Anda dapat mengonfigurasi pemicu untuk men-deploy alur kerja Anda berdasarkan setiap perubahan pada repositori sumber, atau men-deploy alur kerja hanya jika perubahan sesuai dengan kriteria tertentu.
Pendekatan ini dapat membantu Anda mengelola siklus proses deployment. Misalnya, Anda dapat men-deploy perubahan ke alur kerja di lingkungan staging, menjalankan pengujian terhadap lingkungan tersebut, lalu meluncurkan perubahan ini secara bertahap ke lingkungan produksi.
Sebelum memulai
Petunjuk ini mengasumsikan bahwa Anda memiliki
peran Cloud Build Editor
(roles/cloudbuild.builds.editor
) di project Google Cloud Anda sehingga Anda
dapat membuat pemicu. Anda juga memerlukan alur kerja di repositori sumber seperti GitHub atau Bitbucket.
Konsol
Aktifkan Cloud Build dan Workflows API.
Berikan peran Admin Workflows (
roles/workflows.admin
) ke akun layanan Cloud Build:Di konsol Google Cloud , buka halaman IAM.
Pilih project Anda.
Di baris untuk akun layanan Cloud Build (
PROJECT_NUMBER@cloudbuild.gserviceaccount.com
), klik Edit principal.Klik
Add another role.Di daftar Role, pilih peran Workflows Admin.
Klik Simpan.
Berikan peran Pengguna Akun Layanan (
roles/iam.serviceAccountUser
) di akun layanan default Compute Engine ke akun layanan Cloud Build. Setelah Anda mengaktifkan Compute Engine API, akun layanan default Compute Engine akanPROJECT_NUMBER-compute@developer.gserviceaccount.com
.Di konsol Google Cloud , buka halaman Service Accounts.
Pilih project Anda.
Klik alamat email akun layanan default Compute Engine (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
).Klik tab Izin.
Klik tombol
Grant access.Untuk menambahkan prinsipal baru, masukkan alamat email akun layanan Anda (
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
).Dalam daftar Pilih peran, pilih peran Akun Layanan > Pengguna Akun Layanan.
Klik Simpan.
gcloud
Aktifkan Cloud Build dan Workflows API.
gcloud services enable cloudbuild.googleapis.com \ workflows.googleapis.com
Berikan peran Workflows Admin (
roles/workflows.admin
) ke akun layanan Cloud Build:PROJECT_NUMBER=$(gcloud projects describe PROJECT_ID --format='value(projectNumber)') gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \ --role=roles/workflows.admin
Ganti
PROJECT_ID
dengan ID project Google Cloud Anda.Berikan peran Pengguna Akun Layanan (
roles/iam.serviceAccountUser
) di akun layanan default Compute Engine ke akun layanan Cloud Build. Setelah Anda mengaktifkan Compute Engine API, akun layanan default Compute Engine akanPROJECT_NUMBER-compute@developer.gserviceaccount.com
.gcloud iam service-accounts add-iam-policy-binding \ $PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \ --role=roles/iam.serviceAccountUser
Hubungkan ke repositori sumber Anda
Anda harus menghubungkan Cloud Build ke repositori sumber agar Cloud Build dapat mengotomatiskan build sebagai respons terhadap peristiwa yang terjadi di repositori.
Selesaikan langkah-langkah berikut untuk terhubung ke GitHub atau Bitbucket:
Di konsol Google Cloud , buka halaman Pemicu Cloud Build:
Jika perlu, pilih project Anda, lalu klik Buka.
Dari daftar Region, pilih region tempat Anda ingin membuat pemicu.
Klik Connect repository.
Pilih repositori sumber tempat Anda menyimpan kode sumber.
Misalnya: GitHub (Cloud Build GitHub App)
Klik Lanjutkan.
Lakukan autentikasi ke repositori sumber Anda dengan nama pengguna dan sandi Anda.
Jika Anda login ke GitHub, Anda akan diminta untuk memberi otorisasi ke Aplikasi GitHub Google Cloud Build agar dapat mengakses akun GitHub Anda untuk melanjutkan.
Dari daftar repositori yang tersedia, pilih repositori yang diinginkan, lalu klik OK.
Untuk repositori eksternal seperti GitHub dan Bitbucket, Anda harus memiliki izin tingkat pemilik untuk project tempat Anda bekerja. Google Cloud
Baca pernyataan penyangkalan dan centang kotak di sampingnya untuk menunjukkan bahwa Anda menyetujui persyaratan tersebut.
Klik Connect.
Untuk melanjutkan pembuatan pemicu build guna mengotomatiskan build untuk kode sumber di repositori, klik Buat pemicu. Jika tidak, klik Selesai.
Membuat file konfigurasi Cloud Build
File konfigurasi build menentukan kolom yang diperlukan saat menggunakan pemicu build untuk memulai build. Buat file konfigurasi di direktori root project Anda dan tulis menggunakan YAML atau JSON.
Misalnya, file konfigurasi berikut men-deploy dan menjalankan alur kerja pengujian, lalu menggunakan skrip untuk memeriksa output. Jika pengujian lulus, alur kerja akan di-deploy:
Variabel substitusi $BRANCH_NAME
dan $SHORT_SHA
diisi oleh Cloud Build saat build dipicu dari repositori Git. Keduanya masing-masing mewakili nama cabang Anda, dan tujuh karakter pertama ID commit yang terkait dengan build Anda.
Variabel substitusi $_WORKFLOW_NAME
memungkinkan Anda menggunakan kembali file konfigurasi
dengan nilai variabel yang berbeda. Anda dapat menentukan nilainya saat membuat
pemicu build.
Untuk mengetahui informasi selengkapnya, lihat Membuat file konfigurasi build.
Membuat pemicu build
Anda dapat mengotomatiskan deployment alur kerja dengan membuat pemicu Cloud Build.
Untuk membuat pemicu build untuk file konfigurasi di bagian sebelumnya:
Di konsol Google Cloud , buka halaman Cloud Build Triggers:
Klik Create trigger.
Di kolom Nama, masukkan nama pemicu Anda.
Untuk Peristiwa, pilih peristiwa untuk memanggil pemicu Anda.
Misalnya: Push to a branch
Untuk Sumber, pilih repositori Anda, dan nama cabang atau tag yang akan memulai pemicu Anda. Anda dapat menggunakan ekspresi reguler untuk menentukan kecocokan dengan cabang atau tag.
Misalnya:
GoogleCloudPlatform/workflows-demos
(repositori) dan^main$|^staging$
(cocok dengan cabangmain
danstaging
)Perluas bagian Tampilkan filter file yang disertakan dan diabaikan, lalu tentukan alur kerja Anda sebagai file yang disertakan sehingga saat diubah, build akan dipanggil.
Contoh:
gitops/workflow.yaml
Untuk Konfigurasi, pilih file konfigurasi Cloud Build (YAML atau JSON) sebagai jenis, dan Repositori sebagai lokasi.
Di kolom Cloud Build configuration file location, tentukan lokasi file Anda.
Contoh:
gitops/cloudbuild.yaml
Secara opsional, untuk menambahkan variabel pengganti, klik Tambahkan variabel dan tentukan kombinasi kunci dan nilai.
Misalnya:
_WORKFLOW_NAME
(variabel) danworkflows-gitops
(nilai)Untuk menyimpan pemicu build, klik Buat.
Saat ada perubahan yang dikirim ke alur kerja di cabang repositori Git yang ditentukan, Cloud Build akan otomatis dipicu untuk men-deploy alur kerja.
Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola pemicu build.
Menguji pemicu build
Anda dapat menguji pemicu build dan file konfigurasi dari bagian sebelumnya.
Di cabang
staging
repositori Git, editworkflow.yaml
, dan ubahHello World
menjadiBye World
:Lakukan commit pada perubahan tersebut dan kirim ke cabang
staging
.git add workflow.yaml git commit -m "Update workflow.yaml in staging" git push
Pemicu Cloud Build berjalan dan memulai build.
Untuk mengonfirmasi keberhasilan build, di konsol Google Cloud , buka halaman Build history:
Setelah build selesai, Cloud Build memberikan status keseluruhan untuk build dan untuk setiap langkah build. Untuk mengetahui informasi selengkapnya, lihat Melihat hasil build.
Untuk mengonfirmasi bahwa alur kerja penyiapan telah di-deploy, di konsol Google Cloud , buka halaman Workflows:
Anda akan melihat alur kerja bernama
workflows-gitops-staging
tercantum.Untuk men-deploy alur kerja staging ke produksi, gabungkan cabang
staging
ke cabangmain
:git checkout main git merge staging git push
Perhatikan bahwa karena
test-main.sh
mengharapkanHello World
dalam output alur kerja, build akan gagal:Agar berhasil men-deploy alur kerja produksi, di cabang
staging
, editworkflow.yaml
lagi dan ubah string kembali keHello World
.Commit dan kirim perubahan ke cabang
staging
, lalu gabungkan cabangstaging
ke cabangmain
.Untuk mengonfirmasi bahwa alur kerja produksi telah di-deploy, di konsol Google Cloud , buka halaman Workflows:
Anda akan melihat alur kerja bernama
workflows-gitops-main
tercantum.
Langkah berikutnya
- Pelajari Cloud Build lebih lanjut.
- Pelajari cara memecahkan masalah error build.
- Pelajari cara memecahkan masalah Workflows.