You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cloud Run Job命令行部署正常,cloudbuild.yml部署异常排查

问题排查:Cloud Build部署Cloud Run Job报错"exec: 'run': executable file not found"

错误根源

本地执行gcloud run jobs deploy能成功,是因为你明确调用了gcloud命令,再把后续参数传给它。但在Cloud Build的步骤里,你直接把run作为第一个参数传入,cloud-sdk镜像会尝试直接执行run这个可执行文件——而镜像里根本没有这个文件,所以触发找不到命令的错误。

修正后的cloudbuild.yml配置

必须在args的最开头加上gcloud,让镜像知道要执行gcloud命令,再传入后续的部署参数:

steps:
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
  id: Deploy
  args: ['gcloud',
    'run',
    'jobs',
    'deploy',
    'myjob',
    '--project',
    '$PROJECT_ID',
    '--image',
    '$LOCATION-docker.pkg.dev/$PROJECT_ID/myrepo/myimage:latest',
    '--region',
    '$LOCATION']

两种部署方式的核心差异

  • 本地命令行:你输入的是完整命令gcloud run jobs deploy...,系统会先定位到gcloud可执行文件,再把run jobs deploy...作为参数传递给它。
  • Cloud Build步骤:使用cloud-sdk镜像时,步骤的args列表第一个元素会被当作要执行的命令。之前的配置里第一个元素是run,系统找不到这个命令,自然报错;加上gcloud后,才会正确调用gcloud工具执行后续部署逻辑。

内容的提问来源于stack exchange,提问作者Wells

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 02:07:14