Google Cloud Build自定义机器类型配置未生效问题咨询
问题原因
- 你在
options下配置的machineType仅作用于Cloud Build自身的执行环境,你当前使用的cos-customizer工具会在你的项目中单独启动独立的GCE虚拟机执行COS镜像构建流程,该虚拟机的规格不受Cloud Build执行环境配置影响,这是机器配置未生效、构建耗时过长的核心原因。 - 可先进入Cloud Build对应构建任务的详情页,核对「机器类型」字段,确认Cloud Build本身的执行环境是否已经按配置加载了E2_HIGHCPU_8规格,排除触发器配置覆盖yaml设置的可能性。
解决方案
修改第一个start-image-build步骤的参数,添加-machine-type参数指定COS构建虚拟机的规格,示例修改后的配置如下:
steps: - name: "gcr.io/cos-cloud/cos-customizer" args: [ "start-image-build", "-image-project=cos-cloud", "-image-name=${_BASE_IMAGE_NAME}", "-gcs-bucket=${_CLOUD_BUILD_BUCKET_NAME}", "-gcs-workdir=cloud-build-${BUILD_ID}", # 新增以下参数指定构建用虚拟机规格,可根据需求调整为更高配置 "-machine-type=e2-highcpu-8" ] - name: "gcr.io/cos-cloud/cos-customizer" args: [ "run-script", "-env=_MIX_ENV=${_MIX_ENV},_RELEASE_NAME=${_RELEASE_NAME}", "-script=cloudbuild.sh", ] - name: "gcr.io/cos-cloud/cos-customizer" args: [ "finish-image-build", "-zone=us-central1-a", "-project=${PROJECT_ID}", "-image-project=${PROJECT_ID}", "-image-family=${_IMAGE_FAMILY_NAME}", "-image-name=${_BASE_IMAGE_NAME}-${_IMAGE_FAMILY_NAME}-${SHORT_SHA}", ] options: machineType: "E2_HIGHCPU_8" timeout: 3600s
- 注意
-machine-type的参数值需和GCE官方机器类型命名格式一致,使用小写字母加横杠的写法,若e2-highcpu-8仍无法满足耗时要求,可替换为更高规格的机器如n2-highcpu-8、c2-standard-8等。
内容的提问来源于stack exchange,提问作者JeongHan Seock
相关产品推荐
相关产品推荐

