安排构建

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

准备工作

  • 启用 Cloud Build API。

    启用 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 角色。重新创建服务帐号后,您最长可能需要等待 1 小时,才能让任何现有的 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 作业

后续步骤