このページでは、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 置換変数を含める方法については、変数値の置換をご覧ください。
次のステップ
- トリガー ファイルを作成する
- Cloud Build 構成ファイルの詳細については、ビルド構成ファイルのスキーマをご覧ください。