本页面介绍了在 Secure Source Manager 中创建触发器 YAML 文件的步骤。触发器文件可用于根据 Secure Source Manager 代码库中的推送和拉取请求事件自动执行构建。
如需了解可以在触发器文件中包含的字段,请参阅 触发器文件架构。
准备工作
- 创建 Secure Source Manager 实例。
- 创建 Secure Source Manager 代码库。
- 阅读 触发器文件架构,了解可以在触发器文件中包含的 字段。
所需角色
如需获得创建触发器文件所需的权限,请让管理员向您授予以下 IAM 角色:
- Secure Source Manager Instance Accessor (
roles/securesourcemanager.instanceAccessor) 实例上的 - Secure Source Manager Repository Writer (
roles/securesourcemanager.repoWriter) 代码库上的
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。
创建 Cloud Build 配置文件
Secure Source Manager 触发器文件要求您为每个触发器指定一个构建配置文件。
构建配置文件包含 Cloud Build 根据您的规范执行任务的说明。例如,您的构建配置文件可以包含构建、打包和推送 Docker 映像的说明。
在要从中进行构建的分支中创建 build 配置文件。如需创建 build 配置文件,请按照 创建 build 配置文件中的说明进行操作。
创建触发器文件
必须在代码库的默认分支 中创建触发器配置文件。
如需创建触发器配置文件,请执行以下操作:
- 在本地代码库或 Secure Source Manager 网页界面中,切换到默认分支 。
创建一个名为
.cloudbuild/triggers.yaml的文件。在
.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替换以下内容:
- 将
TRIGGER_NAME替换为触发器的名称。触发器名称只能包含字母数字字符和连字符,且首尾不能使用连字符。触发器名称的长度必须小于 64 个字符。 - 将
PROJECT_ID替换为您在其中 Google Cloud 启用了 Cloud Build 的项目 ID。此字段是可选字段。默认值为 Secure Source Manager 项目。 - 将
CLOUD_BUILD_CONFIG_PATH替换为要用于此触发器的 Cloud Build 配置文件的路径。此字段是可选字段。默认值为.cloudbuild/cloudbuild.yaml 将
EVENT_TYPE替换为要触发构建的事件类型。选项如下:push:在推送到指定分支时触发pull_request:在向指定分支发出拉取请求时触发
此字段是可选字段。默认值为
push。将
INCLUDED_GIT_REFS替换为与要触发构建的 Git 引用匹配的可选 RE2 正则表达式格式。默认值为空。空值表示没有限制。将
IGNORED_GIT_REFS替换为与您不想触发构建的 Git 引用匹配的可选正则表达式(使用 RE2 正则表达式格式)。默认值为空。空值表示没有限制。系统会在检查includedGitRefs字段之前检查ignoredGitRefs字段。如需详细了解这些字段,请参阅 触发器文件架构。将
SERVICE_ACCOUNT替换为要用于构建的 Cloud Build 服务帐号,格式为projects/PROJECT_ID/serviceAccounts/ACCOUNT。将 ACCOUNT 替换为 服务帐号的电子邮件地址或唯一 ID。您可以使用默认 Cloud Build 服务账号,也可以使用用户代管式服务账号。 由于存在 限制,因此无法使用旧版 Cloud Build 服务帐号。将
INCLUDED_FILES替换为与要触发构建的文件匹配的可选 RE2 格式正则表达式。如果任何更改的文件与
ignoredFiles过滤条件字段不匹配,并且更改的文件与includedFiles过滤条件字段匹配,则会触发构建。默认值为空。空值表示没有限制。将
IGNORED_FILES替换为与您不想触发构建的文件匹配的可选 RE2 格式正则表达式。如果提交中的所有更改的文件都与此过滤条件字段匹配,则不会触发构建。默认值为空。空值表示没有限制。
将
DISABLED_BOOL替换为true以停用触发器,或替换为false以启用触发器。此字段是可选字段。默认值为false。将
VARIABLE_NAME替换为要在触发器文件中引入的变量的名称。将
VARIABLE_VALUE替换为变量的值。将
OVERRIDE_VARIABLE_NAME替换为 Secure Source Manager 默认替换变量名称。如需了解可用的 默认替换变量,请参阅 触发器文件架构的替换部分。将
OVERRIDE_VARIABLE_VALUE替换为要用于替换默认替换变量的默认值的值。
- 将
将触发器配置文件提交到默认分支。
提交触发器文件后,Secure Source Manager 会根据触发器文件中的配置触发构建。
Secure Source Manager 会读取以下类型事件的配置文件和关联的提交 SHA 或 Git 引用:
- 对于
push事件,Secure Source Manager 会在推送完成后读取提交 SHA 或 Git 引用。 - 对于
pull_request事件,Secure Source Manager 会在拉取请求更改被拉取时读取提交 SHA 或 Git 引用。
- 对于
查看构建状态
当构建由推送或拉取请求事件触发时,提交和构建状态会显示在 Secure Source Manager 网页界面中。
构建状态的可能值如下:
SUCCESS:构建已成功完成。
WARNING:尝试构建时出现问题。
FAILURE:构建在执行期间失败。
如果您配置了分支保护规则,要求触发器文件中配置的触发器成功完成状态检查,则可以阻止构建失败的提交合并到重要分支中。如需详细了解分支保护 ,请参阅 分支保护概览。
如需查看推送事件的构建状态,请执行以下操作:
在 Secure Source Manager 网页界面中,前往您的代码库。
如果最近的推送事件触发了构建,则状态会显示在提交 SHA 旁边。如需查看该状态的详细信息,请点击该状态。
如需查看之前提交的构建状态,请选择提交 以查看提交历史记录,然后点击要查看详细信息的状态。
如需查看拉取请求事件的构建状态,请执行以下操作:
- 在 Secure Source Manager 网页界面中,点击拉取请求 。
点击要查看的拉取请求。
如果构建是由拉取请求触发的,您将看到一个标题为 **所有检查均成功** 或**部分检查报告了警告** 的部分。
后续步骤
- 使用触发器文件连接到 Cloud Build。