增加构建的 vCPU

Cloud Build 可让您通过在高 CPU 虚拟机 (VM) 类型上运行 build 来提高 build 速度,而不是使用默认的标准 VM。虽然高 vCPU 机器可以更快地运行 build,但由于 Cloud Build 仅在需要时启动非标准机器,因此可能会增加默认池的启动时间。

如果您需要的 vCPU 选项比默认池提供的更多,则可以在专用池上运行 build,专用池提供更多的高 CPU 机器类型。

如需详细了解所有可用的机器类型,请参阅“价格”页面。

准备工作

如需使用本指南中的命令行示例,请安装并配置 Google Cloud CLI。

  • 如果您之前已经安装了 gcloud CLI,请运行 gcloud components update 以确保您拥有最新版本。

增加默认池的 vCPU

您可以通过以下方式增加默认池中运行 build 的 vCPU:直接将值传递给 gcloud builds submit 命令,或在 build 配置文件中指定值。

直接将值传递给 gcloud builds submit 命令:

如需直接在 gcloud builds submit 命令中指定自定义虚拟机大小,请向该命令添加 --machine-type 实参:

    gcloud builds submit --config=cloudbuild.yaml \
        --machine-type=E2_HIGHCPU_8

在 build 配置文件中指定值:

YAML

  1. 打开您的 build 配置文件。

  2. 将 machineType 字段更新为与默认池支持的机器类型对应的枚举值。以下示例展示了如何向 build 配置文件添加 machineType 选项:

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: ['build', '-t', 'gcr.io/my-project/image1', '.']
    options:
      machineType: 'E2_HIGHCPU_8'
    
  3. 使用 gcloud CLI 或构建触发器启动构建。

JSON

  1. 打开您的 build 配置文件。

  2. 将 machineType 字段更新为与默认池支持的机器类型对应的枚举值。以下示例展示了如何向 build 配置文件添加 machineType 选项:

    {
        "steps": [
        {
            "name": "gcr.io/cloud-builders/docker",
            "args": ["build", "-t", "gcr.io/my-project/image1", "."]
        },
        "options": {
            "machineType": "E2_HIGHCPU_8"
        }
    }
    
  3. 使用 gcloud CLI 或构建触发器启动构建。

如需确保使用特定机器类型来构建 Cloud Run 服务的容器,请执行以下操作:

  1. 使用专用 Cloud Build build 构建并推送容器映像,并在 cloudbuild.yaml 中配置所需的 machineType。

  2. 通过引用 Artifact Registry 中的映像网址,将服务部署到 Cloud Run:

    gcloud run deploy SERVICE_NAME --image IMAGE_URL
    

增加专用池的 vCPU 数量

控制台

  1. 在 Google Cloud 控制台中,打开工作器池页面:

    打开 Cloud Build 工作器池页面

  2. 选择您在其中创建了专用池的项目。

  3. 点击专用池名称。

  4. 在修改专用池侧边栏中,使用机器类型下拉菜单选择更大的机器类型。

  5. 点击保存。

gcloud

您可以通过以下任一方式来增加在专用池中运行 build 的 vCPU:直接将值传递给 gcloud builds worker-pools update 命令,或在专用池配置文件中指定值。

在私有池配置文件中指定值:

  1. 打开您的专用池配置文件。

  2. 将 machineType 字段的值更新为受支持的机器类型之一。

  3. 运行以下命令,其中 PRIVATEPOOL_ID 是专用池的唯一标识符,REGION 是专用池所在的区域,PRIVATEPOOL_CONFIG_FILE 是专用池配置文件的名称:

    gcloud builds worker-pools update PRIVATEPOOL_ID \
        --region=REGION \
        --config-from-file=PRIVATEPOOL_CONFIG_FILE
    

直接将值传递给 gcloud builds worker-pools update 命令:

   gcloud builds worker-pools update PRIVATEPOOL_ID  \
       --region=REGION \
       --worker-machine-type=PRIVATEPOOL_MACHINE_TYPE

将上述命令中的占位值替换为以下值:

  • PRIVATEPOOL_ID:现有专用池的 ID。无法更新此值;必须指定现有专用池 ID。
  • REGION:您创建专用池的区域。
  • PRIVATEPOOL_DISK_SIZE:更新后的磁盘大小。
  • PRIVATEPOOL_MACHINE_TYPE 是更新后的机器类型。

    只要您使用相应的专用池运行 build,Cloud Build 就会使用更新后的机器类型。

后续步骤