Menghubungkan ke Cloud Build

Halaman ini menjelaskan cara memanggil build secara otomatis dari Secure Source Manager menggunakan file konfigurasi Cloud Build dan file YAML pemicu di repositori Secure Source Manager Anda.

Sebelum memulai

  1. Buat instance Secure Source Manager.
  2. Buat repositori Secure Source Manager.
  3. 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:

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:

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:

  1. Di antarmuka web Secure Source Manager, pilih repositori yang ingin Anda hubungkan ke Cloud Build.
  2. Pilih cabang yang ingin Anda bangun dari menggunakan Cloud Build.
  3. Buat file konfigurasi build. Untuk mengetahui informasi tentang cara membuat file konfigurasi build, ikuti petunjuk di Membuat file konfigurasi build.

  4. Lakukan commit perubahan Anda ke cabang.

Membuat file pemicu

File konfigurasi pemicu harus dibuat di cabang default repositori Anda.

Untuk membuat file konfigurasi pemicu:

  1. Di repositori lokal atau antarmuka web Secure Source Manager, beralihlah ke cabang default.
  2. Buat file bernama .cloudbuild/triggers.yaml.

  3. 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 ditentukan
      • pull_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. Kolom ignoredGitRefs diperiksa sebelum kolom includedGitRefs. Untuk mengetahui informasi selengkapnya tentang kolom ini, lihat Skema file pemicu.

    • SERVICE_ACCOUNT dengan akun layanan Cloud Build yang akan digunakan untuk build dalam format projects/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 filter includedFiles, 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 dengan true untuk menonaktifkan pemicu, atau false untuk mengaktifkan pemicu. Kolom ini bersifat opsional. Nilai defaultnya adalah false.

    • 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.

  4. 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.

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:

  • berhasilBERHASIL: build berhasil diselesaikan.
  • peringatanPERINGATAN: terjadi masalah saat mencoba membangun.
  • gagalGAGAL: 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:

  1. 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.

  2. 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:

  1. Di antarmuka web Secure Source Manager, klik Pull requests.
  2. 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