Sebelum memulai
- Buat instance Secure Source Manager.
- Buat repositori Secure Source Manager.
- Konfigurasi akun layanan yang ditentukan pengguna Cloud Build.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk menghubungkan repositori Secure Source Manager ke Cloud Build, minta administrator Anda untuk memberi Anda peran IAM berikut:
-
Secure Source Manager Repository Writer (
roles/securesourcemanager.repoWriter
) di repositori Anda -
Secure Source Manager Instance Accessor (
roles/securesourcemanager.instanceAccessor
) di instance Secure Source Manager
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran kustom atau peran yang telah ditentukan lainnya.
Untuk mengetahui informasi tentang cara memberikan peran Secure Source Manager, lihat Kontrol akses dengan IAM dan Memberikan akses instance kepada pengguna.
Peran akun layanan yang diperlukan
Untuk membuat build dan mendapatkan status build dari Cloud Build, berikan peran Identity and Access Management (IAM) berikut kepada agen layanan Secure Source Manager (service-PROJECT-NUMBER@gcp-sa-sourcemanager.
):
- Peran Cloud Build Editor
(
roles/cloudbuild.builds.editor
) di project tempat Anda mengaktifkan Cloud Build. - Peran Pengguna Akun Layanan
(
roles/iam.serviceAccountUser
) di akun layanan Cloud Build, atau project tempat akun layanan Cloud Build dibuat. - Jika project tempat Anda mengaktifkan Cloud Build berbeda dengan project tempat Secure Source Manager diaktifkan, berikan peran Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer
) di project Cloud Build. - Jika build berjalan di pool worker, berikan peran
Cloud Build WorkerPool User
(
roles/cloudbuild.workerPoolUser
) kepada akun layanan Secure Source Manager di project Cloud Build.
Agar Cloud Build dapat membaca dari repositori Secure Source Manager Anda, berikan peran IAM berikut kepada akun layanan Cloud Build:
- Peran Secure Source Manager Instance Accessor
(
roles/securesourcemanager.instanceAccessor
) di instance Secure Source Manager. - Peran Secure Source Manager Repository Reader di repositori Secure Source Manager yang ingin Anda hubungkan ke Cloud Build.
Bergantung pada kasus penggunaan Anda, akun layanan Cloud Build mungkin memerlukan peran IAM tambahan untuk menjalankan build, misalnya:
- Untuk menyimpan log build di Cloud Logging, berikan peran Logs Writer ke akun layanan Cloud Build.
- Untuk mengakses secret di Secret Manager, berikan peran
Secret Manager Secret Accessor
(
roles/secretmanager.secretAccessor
) ke akun layanan Cloud Build.
Untuk mengetahui informasi tentang cara memberikan peran IAM ke agen layanan, lihat Memberikan atau mencabut satu peran.
Untuk mengetahui informasi tentang log build, lihat Menyiapkan log build.
Membuat file konfigurasi build
File konfigurasi build menentukan kolom yang diperlukan agar Cloud Build dapat menjalankan tugas build Anda. Anda dapat menulis file konfigurasi build menggunakan sintaksis YAML.
Anda dapat membuat file konfigurasi build di cabang yang ingin Anda bangun.
Untuk membuat file konfigurasi build, lakukan hal berikut:
- Di antarmuka web Secure Source Manager, pilih repositori yang ingin Anda hubungkan ke Cloud Build.
- Pilih cabang yang ingin Anda bangun dari menggunakan Cloud Build.
Buat file konfigurasi build. Untuk mengetahui informasi tentang cara membuat file konfigurasi build, ikuti petunjuk di Membuat file konfigurasi build.
Lakukan commit perubahan Anda ke cabang.
Membuat file pemicu
File konfigurasi pemicu harus dibuat di cabang default repositori Anda.
Untuk membuat file konfigurasi pemicu:
- Di repositori lokal atau antarmuka web Secure Source Manager, beralihlah ke cabang default.
Buat file bernama
.cloudbuild/triggers.yaml
.Konfigurasi pemicu Anda di file
.cloudbuild/triggers.yaml
:triggers: - name: TRIGGER_NAME project: PROJECT_ID configFilePath: CLOUD_BUILD_CONFIG_PATH eventType: EVENT_TYPE ignoredGitRefs: IGNORED_GIT_REFS includedGitRefs: INCLUDED_GIT_REFS serviceAccount: SERVICE_ACCOUNT includedFiles: INCLUDED_FILES ignoredFiles: IGNORED_FILES disabled: DISABLED_BOOL substitutions: _VARIABLE_NAME: VARIABLE_VALUE OVERRIDE_VARIABLE_NAME: OVERRIDE_VARIABLE_VALUE
Ganti kode berikut:
TRIGGER_NAME
dengan nama untuk pemicu Anda. Nama pemicu hanya boleh berisi karakter alfanumerik dan tanda pisah, serta tidak boleh diawali atau diakhiri dengan tanda pisah. Nama pemicu tidak boleh lebih dari 64 karakter.PROJECT_ID
dengan ID project Google Cloud tempat Anda mengaktifkan Cloud Build. Kolom ini bersifat opsional. Defaultnya adalah project Secure Source Manager.CLOUD_BUILD_CONFIG_PATH
dengan jalur ke file konfigurasi Cloud Build yang ingin Anda gunakan untuk pemicu ini. Kolom ini bersifat opsional. Nilai defaultnya adalah.cloudbuild/cloudbuild.yaml
EVENT_TYPE
dengan jenis peristiwa yang ingin Anda picu untuk build. Opsinya adalah sebagai berikut:push
untuk memicu saat mengirim ke cabang yang ditentukanpull_request
untuk memicu permintaan pull ke cabang yang ditentukan
Kolom ini bersifat opsional. Nilai defaultnya adalah
push
.INCLUDED_GIT_REFS
dengan format ekspresi reguler RE2 opsional yang cocok dengan referensi Git yang ingin Anda picu untuk membangun. Nilai defaultnya kosong. Nilai kosong menunjukkan tidak ada batasan.IGNORED_GIT_REFS
dengan ekspresi reguler opsional menggunakan format ekspresi reguler RE2 yang cocok dengan referensi Git yang tidak ingin Anda picu build-nya. Nilai defaultnya kosong. Nilai kosong menunjukkan tidak ada batasan. KolomignoredGitRefs
diperiksa sebelum kolomincludedGitRefs
. Untuk mengetahui informasi selengkapnya tentang kolom ini, lihat Skema file pemicu.SERVICE_ACCOUNT
dengan akun layanan Cloud Build yang akan digunakan untuk build dalam formatprojects/PROJECT_ID/serviceAccounts/ACCOUNT
. Ganti ACCOUNT dengan alamat email atau ID unik akun layanan. Sebagai praktik terbaik, konfigurasi akun layanan yang ditentukan pengguna. Akun layanan Cloud Build lama tidak dapat digunakan karena keterbatasannya.INCLUDED_FILES
dengan ekspresi reguler format RE2 opsional yang cocok dengan file yang ingin Anda picu build-nya.Jika ada file yang diubah tidak cocok dengan kolom filter
ignoredFiles
, dan file yang diubah cocok dengan kolom filterincludedFiles
, build akan dipicu. Nilai defaultnya kosong. Nilai kosong menunjukkan tidak ada batasan.IGNORED_FILES
dengan ekspresi reguler format RE2 opsional yang mencocokkan file yang tidak ingin Anda picu build-nya.Jika semua file yang diubah dalam commit cocok dengan kolom filter ini, build tidak akan dipicu. Nilai defaultnya kosong. Nilai kosong menunjukkan tidak ada batasan.
DISABLED_BOOL
dengantrue
untuk menonaktifkan pemicu, ataufalse
untuk mengaktifkan pemicu. Kolom ini bersifat opsional. Nilai defaultnya adalahfalse
.VARIABLE_NAME
dengan nama variabel yang ingin Anda perkenalkan dalam file pemicu.VARIABLE_VALUE
dengan nilai variabel.OVERRIDE_VARIABLE_NAME
dengan nama variabel penggantian default Secure Source Manager. Untuk mengetahui informasi tentang variabel penggantian default yang tersedia, lihat bagian penggantian di Skema file pemicu.OVERRIDE_VARIABLE_VALUE
dengan nilai yang ingin Anda ganti nilai default untuk variabel penggantian default.
Lakukan commit file konfigurasi pemicu ke cabang default Anda.
Setelah file pemicu di-commit, Secure Source Manager akan memicu build berdasarkan konfigurasi dalam file pemicu Anda.
Secure Source Manager membaca file konfigurasi dan SHA commit atau ref Git terkait dari jenis peristiwa berikut:
- Untuk peristiwa
push
, Secure Source Manager akan membaca SHA commit atau Git ref saat push selesai. - Untuk peristiwa
pull_request
, Secure Source Manager akan membaca SHA commit atau ref Git saat perubahan permintaan pull ditarik dari.
- Untuk peristiwa
Melihat status build
Saat build dipicu oleh peristiwa permintaan push atau pull, status commit dan build akan ditampilkan di antarmuka web Secure Source Manager.
Nilai yang mungkin untuk status build adalah sebagai berikut:
BERHASIL: build berhasil diselesaikan.
PERINGATAN: terjadi masalah saat mencoba membangun.
GAGAL: build gagal selama eksekusi.
Anda dapat mencegah commit dengan build yang tidak berhasil digabungkan ke dalam cabang penting jika Anda mengonfigurasi aturan perlindungan cabang untuk mewajibkan pemeriksaan status yang berhasil dari pemicu yang dikonfigurasi dalam file pemicu. Untuk mempelajari lebih lanjut perlindungan cabang, baca Ringkasan perlindungan cabang.
Untuk melihat status build untuk peristiwa push:
Di antarmuka web Secure Source Manager, buka repositori Anda.
Jika peristiwa push terbaru memicu build, status akan ditampilkan di samping SHA commit. Untuk melihat detail tentang status tersebut, klik statusnya.
Untuk melihat status build untuk commit sebelumnya, pilih Commits untuk melihat histori commit, lalu klik status yang ingin Anda lihat detailnya.
Untuk melihat status build untuk peristiwa permintaan pull:
- Di antarmuka web Secure Source Manager, klik Pull requests.
Klik permintaan pull yang ingin Anda lihat.
Jika build dipicu oleh pull request, Anda akan melihat bagian yang berjudul Semua pemeriksaan berhasil, atau Beberapa pemeriksaan melaporkan peringatan.
Memecahkan masalah
Untuk menemukan metode mendiagnosis dan menyelesaikan error Cloud Build saat terhubung dengan Secure Source Manager, lihat File pemicu tidak memicu build.
Langkah berikutnya
- Pelajari cara melihat hasil build di Cloud Build.
- Pelajari cara memecahkan masalah error build.