创建触发器文件

本页面介绍了在 Secure Source Manager 中创建触发器 YAML 文件的步骤。触发器文件可用于根据 Secure Source Manager 仓库中的推送和拉取请求事件自动执行 build。

如需了解可在触发器文件中添加的字段,请参阅触发器文件架构

准备工作

  1. 创建 Secure Source Manager 实例
  2. 创建 Secure Source Manager 代码库
  3. 阅读触发器文件架构,了解可以包含在触发器文件中的字段。

所需的角色

如需获得创建触发器文件所需的权限,请让管理员向您授予以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

创建 Cloud Build 配置文件

Secure Source Manager 触发器文件要求您为每个触发器指定一个构建配置文件。

构建配置文件包含 Cloud Build 根据您的规范执行任务的说明。例如,您的构建配置文件可以包含构建、打包和推送 Docker 映像的说明。

在您要从中进行构建的分支中创建 build 配置文件。如需创建 build 配置文件,请按照创建 build 配置文件中的说明操作。

创建触发器文件

触发器配置文件必须在代码库的默认分支中创建。

如需创建触发器配置文件,请执行以下操作:

  1. 在本地代码库或 Secure Source Manager 网页界面中,切换到默认分支
  2. 创建一个名为 .cloudbuild/triggers.yaml 的文件。

  3. .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 替换为您要触发 build 的事件类型。选项如下:

      • push 在推送到指定分支时触发
      • pull_request:在收到针对指定分支的拉取请求时触发

      此字段是可选字段。默认值为 push

    • INCLUDED_GIT_REFS,其中包含与您要触发构建的 Git 参考相匹配的可选 RE2 正则表达式格式。默认值为空。空值表示没有限制。

    • IGNORED_GIT_REFS,其中包含一个可选的正则表达式,该表达式使用 RE2 正则表达式格式,用于匹配您不希望触发 build 的 Git 参考。默认值为空。空值表示没有限制。系统会在检查 includedGitRefs 字段之前检查 ignoredGitRefs 字段。如需详细了解这些字段,请参阅触发器文件架构

    • SERVICE_ACCOUNT,其中包含用于构建的 Cloud Build 服务账号,格式为 projects/PROJECT_ID/serviceAccounts/ACCOUNT。 将 ACCOUNT 替换为服务账号的电子邮件地址或唯一 ID。最佳实践是配置用户指定的服务账号。由于旧版 Cloud Build 服务账号存在限制,因此无法使用。

    • INCLUDED_FILES 替换为可选的 RE2 格式正则表达式,用于匹配您希望触发构建的文件。

      如果任何更改的文件与 ignoredFiles 过滤条件字段不匹配,但与 includedFiles 过滤条件字段匹配,则会触发构建。默认值为空。空值表示没有限制。

    • IGNORED_FILES,其中包含一个可选的 RE2 格式正则表达式,用于匹配您不希望触发构建的文件。

      如果提交中的所有已更改文件都与此过滤条件字段匹配,则不会触发 build。默认值为空。空值表示没有限制。

    • DISABLED_BOOL 替换为 true 以停用触发器,或替换为 false 以启用触发器。此字段是可选字段。默认值为 false

    • VARIABLE_NAME 替换为要在触发器文件中引入的变量的名称。

    • VARIABLE_VALUE 替换为变量的值。

    • OVERRIDE_VARIABLE_NAME 替换为 Secure Source Manager 默认替换变量名称。如需了解可用的默认替换变量,请参阅触发器文件架构的“替换”部分。

    • OVERRIDE_VARIABLE_VALUE 替换为要用于替换默认替换变量的默认值的值。

  4. 将触发器配置文件提交到默认分支。

    提交触发器文件后,Secure Source Manager 会根据触发器文件中的配置触发构建。

    Secure Source Manager 会读取以下类型事件的配置文件和关联的提交 SHA 或 Git ref:

    • 对于 push 事件,Secure Source Manager 会在推送完成后读取提交 SHA 或 Git ref。
    • 对于 pull_request 事件,当从拉取请求中拉取更改时,Secure Source Manager 将读取提交 SHA 或 Git ref。

查看 build 状态

当推送或拉取请求事件触发 build 时,提交和 build 状态会显示在 Secure Source Manager 网页界面中。

build 状态的可能值如下:

  • 成功SUCCESS:构建已成功完成。
  • 警告警告:尝试构建时出现问题。
  • 失败失败:构建在执行期间失败。

如果您配置了分支保护规则,要求触发器文件中的触发器成功完成状态检查,则可以防止构建失败的提交合并到重要分支中。如需详细了解分支保护,请参阅分支保护概览

如需查看推送事件的 build 状态,请执行以下操作:

  1. 在 Secure Source Manager 网页界面中,前往您的代码库。

    如果最新的推送事件触发了 build,则状态会显示在提交 SHA 旁边。如需查看相应状态的详细信息,请点击该状态。

  2. 如需查看之前提交的构建状态,请选择提交以查看提交历史记录,然后点击要查看详细信息的状态。

如需查看拉取请求事件的 build 状态,请执行以下操作:

  1. 在 Secure Source Manager 网页界面中,点击 Pull request
  2. 点击要查看的拉取请求。

    如果 build 是由 pull 请求触发的,您会看到一个标题为所有检查均成功部分检查报告了警告的部分。

后续步骤