安排构建

本页介绍了如何使用 Google Cloud 控制台按预定义时间表运行 build。如需安排构建,您必须创建手动触发器,然后使用 Cloud Scheduler 调用触发器。

准备工作

  • Enable the Cloud Build API.

    Enable the API

  • 准备好源代码。
  • 创建手动触发器(如果您尚未这样做)。 只有当触发器是手动触发器时,您才能安排构建。

安排构建

创建手动触发器后,您就可以安排构建了。

如需安排构建,请执行以下操作:

  1. 打开触发器页面

    打开“触发器”页面

  2. 找到您要按时间表运行的手动触发器的名称所在行。

  3. 点击位于触发器所在行的右端的菜单(垂直省略号)。

  4. 点击按时间表运行以安排构建。

    您会在右侧看到按时间表运行触发器面板。

  5. 启用 Cloud Scheduler API。

    只有在首次安排构建时,系统才会提示您启用 Cloud Scheduler API。

  6. 选择您希望 Cloud Scheduler 在调用触发器时使用的服务账号。

    我们建议选择默认的调度服务账号,其格式如下,其中 PROJECT_ID 是您的项目的 ID:

     cloud-build-trigger-scheduler@PROJECT_ID.iam.gserviceaccount.com
    

    选择默认的安排服务账号后,系统会自动为您创建该账号,并为其授予 Cloud Build Editor IAM 角色。我们建议您不要删除此服务账号,因为 Cloud Scheduler 会使用它来安排构建作业。如果您不小心删除了此服务账号 或撤消其任何 IAM 权限 可以前往 IAM 页面手动添加服务账号 然后为其授予 Cloud Build Editor 角色。重新创建服务账号后,最长可能需要等待一个小时,所有现有的 Cloud Scheduler 作业才会恢复。

  7. 点击继续

    如果您未选择区域,系统可能会提示您为 Cloud Scheduler 作业选择一个区域,然后再继续执行下一步。选择区域后,系统将自动在您的项目中创建一个 App Engine 应用。您以后无法更改项目的区域。如需了解详情,请参阅支持的区域

  8. 输入以下 Cloud Scheduler 作业设置:

    • 名称:Cloud Scheduler 作业的名称。
    • 说明(可选):Cloud Scheduler 作业的说明。
    • 频率:选择您希望运行触发器的频率。您可以从下拉菜单中选择频率,也可以使用 Cron 语法输入自定义值。例如,如果您希望在每天早上 6 点运行手动触发器,则可以在 Cron 语法中将频率指定为 0 6 * * *。如需详细了解 Cron 语法,请参阅配置 Cron 作业时间表
    • 时区:选择您的时区。
  9. 点击创建以创建 Cloud Scheduler 作业。

    您可以为每个手动触发器创建多个调度程序作业。

  10. 如果您要查看 Cloud Scheduler 作业,请点击查看。否则,请点击完成关闭面板。

更新 Cloud Scheduler 作业

如果您更新手动触发器中的修订版本字段,则需要手动更新与触发器关联的 Cloud Scheduler 作业。例如,如果您更新手动触发器的分支名称,则需要手动更新作业中分支的名称。

如需更新 Cloud Scheduler 作业,请执行以下操作:

  1. 打开 Cloud Scheduler 页面:

    打开“Cloud Scheduler”页面

    您会看到 Cloud Scheduler 作业的列表。

  2. [可选] 确定与触发器关联的 Cloud Scheduler 作业:

    1. 通过运行以下命令获取触发器 ID,其中 TRIGGER_NAME 是触发器的名称:

      gcloud builds triggers describe TRIGGER_NAME
      
    2. 记下您的触发器 ID。

    3. 在表顶部的过滤条件栏中输入触发器 ID。

    您将看到与触发器关联的 Cloud Scheduler 作业的列表。

  3. 点击您要更新的作业的名称所在行。

  4. 点击页面顶部的修改

    您会看到用于更新 Cloud Scheduler 作业的表单。

  5. 正文字段中更新修订版本。

  6. 点击更新

您现在已更新与 Cloud Scheduler 作业的触发器关联的修订版本。

移除 Cloud Scheduler 作业

删除停用触发器不会自动删除或停用安排触发器时自动创建的所有 Cloud Scheduler 作业。您的作业将存在,并且系统可能仍会调用构建。

如需确保触发器不再在指定的时间运行,请删除 Cloud Scheduler 作业

后续步骤