トリガー ファイルのスキーマ

このページでは、Secure Source Manager トリガー ファイルのスキーマについて説明します。トリガー ファイルの作成手順については、トリガー ファイルを作成するをご覧ください。

トリガー ファイルには、Secure Source Manager の push または pull リクエスト イベントに基づいて、Cloud Build 構成ファイルで定義されたステップをトリガーするための Secure Source Manager の手順が記述されています。

特定のトリガーからのステータス チェックが成功することを必須とするように、ブランチ保護ルールを構成できます。ブランチ保護の詳細については、ブランチ保護の概要をご覧ください。

トリガー ファイルの構造

トリガー構成ファイルは、リポジトリのデフォルト ブランチに作成する必要があります。トリガー ファイルは YAML 構文で記述できます。

トリガー ファイルの構造は次のとおりです。

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

トリガー ファイルの各名前付きセクションは、Secure Source Manager の特定のイベントタイプで使用する Cloud Build 構成を定義します。

トリガー

トリガーは、特定の Cloud Build 構成ファイル内のステップの完了をトリガーするために使用する Secure Source Manager イベントタイプを指定します。指定したイベントをモニタリングするブランチを指定することもできます。

トリガー ファイルの name フィールドを使用して、トリガーを識別します。トリガー ファイルで設定する構成の例を次に示します。

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.iam.gserviceaccount.com
  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.iam.gserviceaccount.com
  disabled: false
  substitutions:
    _NODE_VERSION_1: v6.9.1
    REPO_NAME: dev

name

必須。トリガーの name フィールドを使用して、トリガーを識別します。トリガー名に使用できるのは英数字とダッシュのみです。先頭または末尾にダッシュは使用できません。トリガー名は 64 文字未満で指定してください。

project

省略可。project フィールドを使用して、Cloud Build を有効にした Google Cloud プロジェクトを指定します。

デフォルトは Secure Source Manager プロジェクトです。

configFilePath

省略可。Cloud Build 構成ファイルへのパス。

デフォルトは .cloudbuild/cloudbuild.yaml です。

eventType

省略可。トリガーするイベントタイプ。オプションは、選択したブランチへのプッシュの場合は push、選択したブランチへのプルリクエストの場合は pull_request です。

デフォルトは push です。

includedGitRefs

省略可。ビルドをトリガーする Git 参照に一致する RE2 形式の正規表現

デフォルトは空です。includedGitRefs フィルタ フィールドが空の場合、制限がないことを示します。

Git 参照が ignoredGitRefs フィルタ フィールドに含まれていない場合、Secure Source Manager は includedGitRefs フィルタ フィールドを確認します。Git 参照が includedGitRefs フィルタ フィールドにある場合、ビルドがトリガーされます。includedGitRefs フィルタ フィールドが空ではなく、Git 参照が includedGitRefs フィルタ フィールドに含まれていない場合、ビルドはトリガーされません。

ignoredGitRefs

省略可。ビルドをトリガーしない Git 参照に一致する RE2 形式の正規表現。

デフォルトは空です。ignoredGitRefs フィルタ フィールドが空の場合、制限がないことを示します。

Secure Source Manager は、まず ignoredGitRefs フィルタ フィールドを確認します。空ではなく、Git 参照が ignoredGitRefs フィルタ フィールドと一致する場合、ビルドはトリガーされません。

serviceAccount

必須。ビルドに使用する Cloud Build サービス アカウント

形式: projects/PROJECT_ID/serviceAccounts/ACCOUNT

次のように置き換えます。

  • PROJECT_ID: サービス アカウントを作成した Google Cloud プロジェクト ID。
  • ACCOUNT: サービス アカウントのメールアドレスまたは一意の ID。

includedFiles

省略可。変更時にビルドをトリガーするファイルに一致する RE2 形式の正規表現。

変更されたファイルが ignoredFiles フィルタ フィールドに含まれておらず、変更されたファイルが includedFiles フィルタ フィールドと一致する場合、ビルドがトリガーされます。

デフォルトは空です。フィルタ フィールドが空の場合、制限がないことを示します。

ignoredFiles

省略可。変更時にビルドをトリガーしないファイルに一致する RE2 形式の正規表現。

ignoredFiles フィルタ フィールドが空でない場合、ignoredFiles フィルタ フィールドに一致するファイルのみを含む commit はビルドをトリガーしません。デフォルトは空です。空のフィルタは、制限がないことを示します。

disabled

省略可。トリガーを無効にするかどうかを設定するブール値。値は true または false です。

デフォルトは false です。

substitutions

トリガー ファイルで置換を使用して、Cloud Build 構成ファイルのビルド時に特定の変数を置換します。

置換はアンダースコアで始まり、英大文字、アンダースコア、数字のみを使用するか、Secure Source Manager の置換変数にする必要があります。

Secure Source Manager には、次のデフォルトの置換変数が用意されています。

  • TRIGGER_NAME: トリガーに関連付けられた名前。
  • COMMIT_SHA: トリガーに関連付けられた commit ID。
  • REVISION_ID: トリガーに関連付けられた commit ID。
  • SHORT_SHA: COMMIT_SHA の最初の 7 文字。
  • REPO_NAME: リポジトリの名前 例: my-repo
  • REPO_FULL_NAME: リポジトリのリソースパス(例: projects/my-project/locations/us-central/repositories/test-repo)。
  • REF_NAME: トリガーに関連付けられたブランチまたはタグの名前。
  • TRIGGER_BUILD_CONFIG_PATH: ビルドの実行中に使用されるビルド構成ファイルへのパス。

Cloud Build 構成ファイルに Secure Source Manager 置換変数を含める方法については、変数値の置換をご覧ください。

次のステップ