本页面介绍了 Secure Source Manager 触发器文件的架构。如需了解如何创建触发器文件的说明,请参阅创建触发器文件。
触发器文件包含 Secure Source Manager 的相关说明,用于根据 Secure Source Manager 中的推送或拉取请求事件触发 Cloud Build 配置文件中定义的步骤。
您可以配置分支保护规则,以要求特定触发器成功完成状态检查。如需详细了解分支保护,请参阅分支保护概览。
触发器文件的结构
触发器配置文件必须在代码库的默认分支中创建。您可以使用 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 配置。
触发器
触发器用于指定要使用哪种 Secure Source Manager 事件类型来触发特定 Cloud Build 配置文件中步骤的完成。 您还可以指定要监控哪些分支的指定事件。
使用触发器文件中的 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
可选。与触发 build 的 Git 引用匹配的 RE2 格式正则表达式。
默认值为空。如果 includedGitRefs
过滤条件字段为空,则表示没有限制。
如果 Git 参考未包含在 ignoredGitRefs
过滤条件字段中,Secure Source Manager 会检查 includedGitRefs
过滤条件字段。如果 Git 参考位于 includedGitRefs
过滤字段中,则会触发 build。如果 includedGitRefs
过滤条件字段不为空,并且 Git 参考未包含在 includedGitRefs
过滤条件字段中,则不会触发 build。
ignoredGitRefs
可选。与不应触发 build 的 Git 引用匹配的 RE2 格式正则表达式。
默认值为空。如果 ignoredGitRefs
过滤条件字段为空,则表示没有限制。
Secure Source Manager 会先检查 ignoredGitRefs
过滤条件字段。如果该字段不为空,且 Git 参考与 ignoredGitRefs
过滤条件字段匹配,则不会触发 build。
serviceAccount
必需。用于构建的 Cloud Build 服务账号。
格式:projects/PROJECT_ID/serviceAccounts/ACCOUNT
替换以下内容:
- 将
PROJECT_ID
替换为您在其中创建服务账号的 Google Cloud 项目 ID。 ACCOUNT
:服务账号的电子邮件地址或唯一 ID。
includedFiles
可选。一种 RE2 格式的正则表达式,用于匹配在更改时应触发构建的文件。
如果更改的文件不在 ignoredFiles
过滤字段中,但与 includedFiles
过滤字段匹配,则会触发 build。
默认值为空。如果过滤条件字段为空,则表示没有限制。
ignoredFiles
可选。一种 RE2 格式的正则表达式,用于匹配更改时不应触发 build 的文件。
如果 ignoredFiles
过滤条件字段不为空,则仅包含与 ignoredFiles
过滤条件字段匹配的文件的提交不会触发 build。默认值为空。空过滤条件表示没有限制。
disabled
可选。一个布尔值,用于设置触发器是否处于停用状态。值为 true
或 false
。
默认值为 false
。
substitutions
在触发器文件中使用替换变量,以便在 Cloud Build 配置文件中于构建时替换特定变量。
替换变量必须以下划线开头,并且只能包含大写字母、下划线和数字,或者必须是 Secure Source Manager 替换变量之一。
Secure Source Manager 提供以下默认替换变量:
TRIGGER_NAME
:与触发器关联的名称。COMMIT_SHA
:与触发器关联的提交 ID。REVISION_ID
:与触发器关联的提交 ID。SHORT_SHA
:COMMIT_SHA
的前七个字符。REPO_NAME
:代码库的名称。例如:my-repo
。REPO_FULL_NAME
:代码库的资源路径,例如:projects/my-project/locations/us-central/repositories/test-repo
。REF_NAME
:与触发器关联的分支或标记的名称。TRIGGER_BUILD_CONFIG_PATH
:构建执行期间使用的 build 配置文件的路径。
如需了解如何在 Cloud Build 配置文件中添加 Secure Source Manager 替换变量,请参阅替换变量值。