您可以使用 Cloud Build 构建触发器自动启动构建并从 Git 代码库部署工作流。您可以将触发器配置为在源代码库发生任何更改时部署工作流,或仅在更改符合特定条件时部署工作流。
这种方法有助于您管理部署生命周期。例如,您可以将更改部署到预演环境中的工作流,针对该环境运行测试,然后逐步将这些更改推广到生产环境。
准备工作
这些说明假定您在 Google Cloud 项目中拥有 Cloud Build Editor 角色 (roles/cloudbuild.builds.editor),以便您可以创建触发器。您还需要源代码库(例如 GitHub 或 Bitbucket)中的工作流。
控制台
启用 Cloud Build 和 Workflows API。
将 Workflows Admin 角色 (
roles/workflows.admin) 授予 Cloud Build 服务账号:在 Google Cloud 控制台中,前往 IAM 页面。
选择您的项目。
在 Cloud Build 服务账号 (
PROJECT_NUMBER@cloudbuild.gserviceaccount.com) 对应的行中,点击 修改主账号。点击添加其他角色。
在角色列表中,选择 Workflows Admin 角色。
点击保存。
向 Cloud Build 服务账号授予 Compute Engine 默认服务账号的 Service Account User 角色 (
roles/iam.serviceAccountUser)。如果您已启用 Compute Engine API,则 Compute Engine 默认服务账号为PROJECT_NUMBER-compute@developer.gserviceaccount.com。在 Google Cloud 控制台中,前往服务账号页面。
选择您的项目。
点击 Compute Engine 默认服务账号 (
PROJECT_NUMBER-compute@developer.gserviceaccount.com) 的电子邮件地址。点击权限标签页。
点击 授予访问权限按钮。
如需添加新的主账号,请输入服务账号的电子邮件地址 (
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com)。在选择角色列表中,选择服务账号 > Service Account User 角色。
点击保存。
gcloud
启用 Cloud Build 和 Workflows API。
gcloud services enable cloudbuild.googleapis.com \ workflows.googleapis.com将 Workflows Admin 角色 (
roles/workflows.admin) 授予 Cloud Build 服务账号:PROJECT_NUMBER=$(gcloud projects describe PROJECT_ID --format='value(projectNumber)') gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \ --role=roles/workflows.admin将
PROJECT_ID替换为您的 Google Cloud项目的 ID。向 Cloud Build 服务账号授予 Compute Engine 默认服务账号的 Service Account User 角色 (
roles/iam.serviceAccountUser)。如果您已启用 Compute Engine API,则 Compute Engine 默认服务账号为PROJECT_NUMBER-compute@developer.gserviceaccount.com。gcloud iam service-accounts add-iam-policy-binding \ $PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \ --role=roles/iam.serviceAccountUser
连接到源代码库
您必须将 Cloud Build 连接到源代码库,以便 Cloud Build 可以自动执行构建,以响应代码库中发生的事件。
如需连接到 GitHub 或 Bitbucket,请完成以下步骤:
在 Google Cloud 控制台中,前往 Cloud Build 触发器页面:
如有必要,请选择您的项目,然后点击打开。
从区域列表中,选择您要创建触发器的区域。
点击连接代码库。
选择您已在其中存储源代码的源代码库。
例如:GitHub(Cloud Build GitHub 应用)
点击继续。
使用您的用户名和密码向您的源代码库进行身份验证。
如果您要登录 GitHub,系统会要求您授权 Google Cloud Build GitHub 应用访问您的 GitHub 账号,然后才能继续操作。