使用构建触发器自动执行构建

每当有更改推送至构建源代码时,构建触发器都会指示 Cloud Build 自动构建映像。您可以将构建触发器设置为在源代码库有更改时重建映像,或者只在有符合特定条件的更改时才重建映像。

构建触发器可以帮助确保容器映像始终基于其源代码的最新版本。它们还可用于在发布之前构建和测试功能分支,或用于自动化生成容器映像的工作流。

本页面介绍了如何创建构建触发器。

准备工作

创建构建触发器

要创建新的构建触发器,请执行以下操作

  1. 在 Google Cloud Platform Console 中打开“构建触发器”页面。

    打开“构建触发器”页面

  2. 选择您的项目,然后点击打开

  3. 单击添加触发器

  4. 为构建源代码选择以下托管代码库之一:

    • Cloud Source Repository
    • Bitbucket
    • GitHub

    为了在 Git 代码库上构建源代码,Cloud Build 会对代码库执行浅层克隆。这意味着只会在要构建的工作区中签出触发了构建的单个提交。Cloud Build 不会签出任何其他分支或历史记录。这样做是为了提高效率,如此一来,构建便不必仅为了构建单个提交而等待获取整个代码库和历史记录。

    如果要在构建中包含更多代码库的历史记录,请在构建配置文件中添加一个构建步骤以“撤销浅层”克隆。例如:

        steps:
        - name: gcr.io/cloud-builders/git
          args: ['fetch', '--unshallow']
        ...
    

    如需详细了解 git fetch,请参阅 Git 参考。有关编写构建配置文件的说明,请参阅构建配置概览

  5. 点击继续

  6. 在可用代码库列表中,选择所需的代码库,然后点击继续

  7. 输入以下触发器设置:

    • 名称:触发器的名称。

    • 触发器类型:您可以设置触发器,以基于对特定分支的提交或基于包含特定标记的提交启动构建。无论哪种情况,您都可以指定要匹配分支或标记值的正则表达式。如需了解可接受的正则表达式语法,请参阅 RE2 语法

    • 包含的文件(可选):对这些文件的更改将触发构建。您可以使用 glob 字符串指定带有通配符的多个文件。可接受的通配符包括 Go Match 支持的字符 **变体

    • 忽略的文件(可选):对这些文件的更改不会触发构建。您可以使用 glob 字符串指定带有通配符的多个文件。可接受的通配符包括 Go Match 支持的字符 **变体

      每次将更改推送到源代码时,Cloud Build 都会查看包含的文件和忽略的文件中已更改的文件,以确定是否应触发构建:

      • 如果您将更改推送到现有分支上的代码库,Cloud Build 将查看您刚刚推送的提交和分支先前指向的提交之间更改的文件。

      • 如果将更改推送到新创建的分支或标记,则 Cloud Build 会将代码库中的所有文件视为已更改的文件。

      • 如果删除分支或标记,则 Cloud Build 不会触发构建。

    • 构建配置:触发器每次启动构建时使用的 Dockerfile 或构建配置文件(位于远程代码库中)。

      要使用 Dockerfile 作为构建配置,您需要指定 Dockerfile 目录并为生成的映像提供名称。

      提供了 Dockerfile 和映像名称之后,您会看到构建将执行的 docker build 命令的预览以及触发器配置的摘要。点击创建触发器以保存构建触发器。

      要为您的构建配置使用构建配置文件,您需要提供构建配置文件的位置。

      设置好位置后,您将看到触发器的摘要。点击创建触发器以保存构建触发器。

测试构建触发器

要手动测试构建触发器,请点击触发器列表中触发器条目上的运行触发器

跳过构建触发器

在某些情况下,您可能想要更改源代码,但不希望触发构建。例如,您可能不希望在更新文档或配置文件时触发构建。

在此类情况下,您可以在提交消息中包含 [skip ci][ci skip],这样就不会触发构建。

如果稍后要基于该提交运行构建,请使用运行触发器按钮。

后续步骤

发送以下问题的反馈:

此网页
Cloud Build