Skema file pemicu

Halaman ini menjelaskan skema file pemicu Secure Source Manager. Untuk petunjuk tentang cara membuat file pemicu, lihat Membuat file pemicu.

File pemicu berisi petunjuk bagi Secure Source Manager untuk memicu langkah-langkah yang ditentukan dalam file konfigurasi Cloud Build berdasarkan peristiwa permintaan push atau pull di Secure Source Manager.

Anda dapat mengonfigurasi aturan perlindungan cabang untuk mewajibkan pemeriksaan status yang berhasil dari pemicu tertentu. Untuk mempelajari perlindungan cabang lebih lanjut, baca Ringkasan perlindungan cabang.

Struktur file pemicu

File konfigurasi pemicu harus dibuat di cabang default repositori Anda. Anda dapat menulis file pemicu menggunakan sintaksis YAML.

File pemicu memiliki struktur berikut:

triggers:
- name: string
  project: string
  configFilePath: string
  eventType: string
  includedGitRefs: string
  ignoredGitRefs: string
  includedFiles: string
  ignoredFiles: string
  serviceAccount: string
  disabled: bool
  substitutions: map[string]string
- name: string
...

Setiap bagian bernama dari file pemicu menentukan konfigurasi Cloud Build yang akan digunakan untuk jenis peristiwa tertentu di Secure Source Manager.

Pemicu

Pemicu menentukan jenis peristiwa Secure Source Manager yang ingin Anda gunakan untuk memicu penyelesaian langkah-langkah dalam file konfigurasi Cloud Build tertentu. Anda juga dapat menentukan cabang mana yang dipantau untuk acara yang ditentukan.

Gunakan kolom name dalam file pemicu untuk mengidentifikasi pemicu. Berikut contoh jenis konfigurasi yang dapat Anda tetapkan dalam file pemicu:

triggers:
- name: presubmit-test
  project: my-project
  configFilePath: test.yaml
  eventType: pull_request
  includedGitRefs: ^main$
  ignoredGitRefs: .*log
  serviceAccount: projects/my-project/serviceAccounts/my-service-account@my-project.
  includedFiles: .*
  ignoredFiles: my-file.txt
  disabled: false
- name: postsubmit-run
  project: my-project
  configFilePath: run.yaml
  eventType: push
  includedGitRefs: ^main$
  ignoredGitRefs: dev-branch
  serviceAccount: projects/my-project/serviceAccounts/my-service-account@my-project.
  disabled: false
  substitutions:
    _NODE_VERSION_1: v6.9.1
    REPO_NAME: dev

name

Wajib. Gunakan kolom name pemicu untuk mengidentifikasi 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

Opsional. Gunakan kolom project untuk mengidentifikasi project Google Cloud tempat Anda mengaktifkan Cloud Build.

Defaultnya adalah project Secure Source Manager.

configFilePath

Opsional. Jalur ke file konfigurasi Cloud Build.

Nilai defaultnya adalah .cloudbuild/cloudbuild.yaml.

eventType

Opsional. Jenis peristiwa yang akan dipicu. Opsinya adalah push untuk mengirim ke cabang yang dipilih atau pull_request untuk permintaan pull ke cabang yang dipilih.

Nilai defaultnya adalah push.

includedGitRefs

Opsional. Ekspresi reguler format RE2 yang cocok dengan referensi Git yang memicu build.

Defaultnya kosong. Kolom filter includedGitRefs yang kosong menunjukkan bahwa tidak ada batasan.

Jika referensi Git tidak disertakan dalam kolom filter ignoredGitRefs, Secure Source Manager akan memeriksa kolom filter includedGitRefs. Jika referensi Git ada di kolom filter includedGitRefs, build akan dipicu. Jika kolom filter includedGitRefs tidak kosong, dan referensi Git tidak disertakan dalam kolom filter includedGitRefs, build tidak akan dipicu.

ignoredGitRefs

Opsional. Ekspresi reguler format RE2 yang cocok dengan referensi Git yang tidak boleh memicu build.

Defaultnya kosong. Kolom filter ignoredGitRefs yang kosong menunjukkan bahwa tidak ada batasan.

Secure Source Manager memeriksa kolom filter ignoredGitRefs terlebih dahulu. Jika tidak kosong dan referensi Git cocok dengan kolom filter ignoredGitRefs, build tidak akan dipicu.

serviceAccount

Wajib. Akun layanan Cloud Build yang akan digunakan untuk build.

Format: projects/PROJECT_ID/serviceAccounts/ACCOUNT

Ganti kode berikut:

  • PROJECT_ID: dengan Google Cloud project ID tempat Anda membuat akun layanan.
  • ACCOUNT: dengan alamat email atau ID unik akun layanan.

includedFiles

Opsional. Ekspresi reguler format RE2 yang cocok dengan file yang harus memicu build saat diubah.

Jika file yang diubah tidak ada di kolom filter ignoredFiles, dan file yang diubah cocok dengan kolom filter includedFiles, build akan dipicu.

Defaultnya kosong. Kolom filter kosong menunjukkan bahwa tidak ada batasan.

ignoredFiles

Opsional. Ekspresi reguler format RE2 yang cocok dengan file yang tidak boleh memicu build saat diubah.

Jika kolom filter ignoredFiles tidak kosong, commit yang hanya menyertakan file yang cocok dengan kolom filter ignoredFiles tidak akan memicu build. Defaultnya adalah kosong. Filter kosong menunjukkan bahwa tidak ada batasan.

disabled

Opsional. Boolean untuk menyetel apakah pemicu dinonaktifkan atau tidak. Nilai berupa true atau false.

Nilai defaultnya adalah false.

substitutions

Gunakan substitusi dalam file pemicu untuk mengganti variabel tertentu pada waktu build dalam file konfigurasi Cloud Build.

Penggantian harus diawali dengan garis bawah, dan hanya dapat berisi huruf besar, garis bawah, dan angka, atau berupa salah satu variabel penggantian Secure Source Manager.

Secure Source Manager menyediakan variabel penggantian default berikut:

  • TRIGGER_NAME: nama yang terkait dengan pemicu.
  • COMMIT_SHA: ID commit yang terkait dengan pemicu.
  • REVISION_ID: ID commit yang terkait dengan pemicu.
  • SHORT_SHA: tujuh karakter pertama COMMIT_SHA.
  • REPO_NAME: nama repositori. Contoh: my-repo.
  • REPO_FULL_NAME: jalur resource repositori, misalnya: projects/my-project/locations/us-central/repositories/test-repo.
  • REF_NAME: nama cabang atau tag yang terkait dengan pemicu.
  • TRIGGER_BUILD_CONFIG_PATH: jalur ke file konfigurasi build yang digunakan selama eksekusi build Anda.

Untuk mengetahui informasi tentang cara menyertakan variabel penggantian Secure Source Manager dalam file konfigurasi Cloud Build, lihat Mengganti nilai variabel.

Langkah berikutnya