使用 Cloud Build 通过 Git 实现持续部署

您可以使用 Cloud Build 自动构建代码并将其部署到 Cloud Run,方法是:使用 Cloud Build 触发器在您将新的代码提交并推送到 Git 代码库的指定分支时,自动构建和部署您的代码。 如需查看创建模板代码库并通过 Git 持续部署的示例演示,请参阅持续部署快速入门

使用 Cloud Build 触发器构建容器时,在部署到 Cloud Run 后,Google Cloud 控制台中会显示服务的源代码库信息

准备工作

  • 您拥有包含 Dockerfile 的 Git 代码库,或者您的代码库采用 Google Cloud 的 Buildpack 支持的语言之一编写。
  • 启用 Cloud Build 和 Cloud Source Repositories API。

    启用 API

通过 Cloud Run 界面设置持续部署

根据您是在新服务上还是在现有服务上设置持续部署,此过程略有不同。请点击相应标签页以了解详情。

新服务

  1. 按照部署新服务中的说明创建新服务,请务必在服务设置页面选择从源代码库持续部署新修订版本

  2. 服务设置页面中,点击使用 Cloud Build 设置

  3. GitHub 是默认代码库提供方。如果您尚未进行身份验证,请点击身份验证并按照说明操作。使用 Cloud Build GitHub 应用连接代码库。

    设置持续部署步骤 1

  4. 点击下一步

  5. 填写“构建配置”步骤中的选项:

    • 分支 - 指示在运行触发器时应使用哪个来源。您可以在此处输入正则表达式。系统会自动验证匹配的分支:您可以在输入下方看到它们。请注意,如果只有一个分支匹配,则触发器将在创建后自动执行。
    • Build 类型

      • 如果您的代码库应使用 Docker 构建,并且其中包含 Dockerfile,请选择 Dockerfile来源位置指示 Dockerfile 的位置和名称。此目录将用作 Docker 构建上下文。所有路径都应该相对于当前目录。

      • 否则,请选择 Google Cloud Buildpacks。使用 Buildpack context 指定目录,并使用 Entrypoint(可选)提供启动服务器的命令。示例:gunicorn -p :8080 main:app for Python、java -jar target/myjar.jar for Java。将其留空以使用默认行为

    设置持续部署步骤 2

  6. 点击保存

  7. 验证所选设置。

    设置持续部署验证

  8. 点击创建

  9. 请注意,您将被重定向到“服务详情”页面,可以在其中跟踪持续部署设置的进度。

  10. 完成所有步骤后,请注意额外的选项:

现有服务

  1. 转到 Cloud Run

  2. 在服务列表中找到服务,然后点击该服务。

  3. 点击设置持续部署

  4. GitHub 是默认代码库提供方。如果您尚未进行身份验证,请点击身份验证并按照说明操作。使用 Cloud Build GitHub 应用连接代码库。

    设置持续部署步骤 1

  5. 点击下一步

  6. 填写“构建配置”步骤中的选项:

    • 分支 - 指示在运行触发器时应使用哪个来源。您可以在此处输入正则表达式。系统会自动验证匹配的分支:您可以在输入下方看到它们。请注意,如果只有一个分支匹配,则触发器将在创建后自动执行。
    • Build 类型

      • 如果您的代码库应使用 Docker 构建,并且其中包含 Dockerfile,请选择 Dockerfile来源位置指示 Dockerfile 的位置和名称。此目录将用作 Docker 构建上下文。所有路径都应该相对于当前目录。

      • 否则,请选择 Google Cloud Buildpacks。使用 Buildpack context 指定目录,并使用 Entrypoint(可选)提供启动服务器的命令。示例:gunicorn -p :8080 main:app for Python、java -jar target/myjar.jar for Java。将其留空以使用默认行为

    设置持续部署步骤 2

  7. 点击保存

  8. 该页面会重新加载并显示持续部署设置的进度。

  9. 完成所有步骤后,请注意额外的选项:

手动设置持续部署

如果您需要使用手动过程,而不是使用界面,请参阅手动设置持续部署

将现有 Cloud Build 触发器挂接到 Cloud Run 服务。

如果您已有 Cloud Build 触发器,则可以将其关联到服务,并使用“服务详情”页面中的 Google Cloud 控制台功能:“修改持续部署”按钮和“构建记录”图表。

为此,您必须添加一个标签,并使用 gcb-trigger-id 作为键,使用 Cloud Build 触发器的唯一标识符(不是触发器名称)作为值。请参阅说明,了解如何设置标签。