借助 Cloud Build,您可以创建用于构建作业的触发器 GitLab 上托管的代码库,可让您执行构建以响应事件,例如与您的 GitLab 代码库关联的提交推送或合并请求。
本页介绍了如何在 GitLab 实例。详细了解 Cloud Build 触发器和 Cloud Build 代码库。
准备工作
-
Enable the Cloud Build and Secret Manager APIs.
- 按照说明连接 GitLab 主机。
- 按照说明连接 GitLab 代码库。
创建 GitLab 触发器
控制台
如需使用 Google Cloud 控制台创建 GitLab 触发器,请执行以下操作:
打开触发器页面
从页面顶部选择您的 Google Cloud 项目,然后点击打开。
点击创建触发器。
输入以下触发器设置:
名称:触发器的名称。
区域:为触发器选择区域。
- 如果与触发器关联的构建配置文件 指定专用池时,Cloud Build 会使用专用池 运行 build。在这种情况下,您在触发器中指定的区域必须与创建专用池的区域一致。
- 如果与触发器关联的 build 配置文件未指定专用池,Cloud Build 会使用默认池在与触发器相同的区域运行 build。
说明(可选):触发器的说明。
事件:选择用于调用触发器的代码库事件。
推送到分支:设置触发器,以便基于对特定分支的提交启动构建。
推送新标记:将触发器设置为以基于包含特定标记的提交启动构建。
拉取请求:设置触发器以启动对特定资源的提交 合并请求。
来源:选择第 2 代作为来源。
代码库:从可用代码库列表中,选择所需的代码库。如需关联新的代码库,请参阅连接到 GitLab 代码库。
分支或标记:指定要匹配分支或标记值的正则表达式。如需了解可接受的正则表达式语法,请参阅 RE2 语法。
评论控制:如果您选择了 Pull request 作为活动时,请选择下列选项之一, 控制构建是否由触发器自动执行:
(所有者和协作者除外):进行合并时 请求是由代码库所有者或协作者创建或更新的; 触发器会自动执行构建如果外部贡献者发起操作,则只有在所有者或协作者对合并请求中的
/gcbrun
添加注释之后,触发器才会执行构建。必需:当任何人创建或更新合并请求时, 那么只有在成为所有者或成员之后, 协作者对合并请求发表了以下评论:
/gcbrun
。build 会在每次更改合并请求时执行。不需要:任何贡献者创建或更新合并请求后,触发器将自动执行构建。
配置:选择位于您的代码库中的构建配置文件,或在触发器上以内嵌方式配置构建。
类型:选择要用于构建的配置类型。
- Cloud Build 配置文件(yaml 或 json):为您的配置使用构建配置文件。
- Dockerfile:为您的配置使用
Dockerfile
。
位置:为您的配置指定位置。
代码库:如果您的配置文件位于 请提供您的 构建配置文件或
Dockerfile
目录和所生成映像的名称。如果您的配置是Dockerfile
,则还可以选择提供构建的超时时间。提供了Dockerfile
和映像名称后,您会看到构建将执行的docker build
命令的预览。内嵌:如果您选择了 Cloud Build 配置文件(yaml 或 json)作为配置选项,则可以指定内嵌构建配置。点击 Open Editor(打开编辑器),在 使用 YAML 或 JSON 语法创建 Google Cloud 控制台。点击完成以保存您的构建配置。
点击创建以创建您的 GitLab 触发器。
gcloud
如需使用 gcloud
命令创建 GitLab 触发器,请运行以下命令
命令:
gcloud builds triggers create gitlab \
--name=TRIGGER_NAME \
--repository=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/repositories/REPO_NAME \
--branch-pattern=BRANCH_PATTERN # or --tag-pattern=TAG_PATTERN \
--build-config=BUILD_CONFIG_FILE \
--region=REGION
其中:
- TRIGGER_NAME 是触发器的名称。
- PROJECT_ID 是您的 Google Cloud 项目 ID。
- REGION 是触发器的区域。
- CONNECTION_NAME 是您的 GitLab 连接的名称。
- REPO_NAME 是代码库的名称
- BRANCH_PATTERN 是代码库中要在其上调用构建的分支名称。
- TAG_PATTERN 是代码库中要在其上调用构建的标记名称。
- BUILD_CONFIG_FILE 是构建配置文件的路径。
数据共享
从 Cloud Build 发送到 GitLab 的数据可帮助您按名称识别触发器,并查看 GitLab 代码库的构建结果。
以下数据目前在 Cloud Build 和您的 GitLab 主机之间共享:
- Google Cloud 项目 ID
- 触发器名称
后续步骤
- 了解如何管理构建触发器。