Google App Engine部署超时,cloudbuild.yaml配置无效求助
Google App Engine部署超时问题排查
我的Google App Engine应用部署耗时超过10分钟,执行gcloud config set app/cloud_build_timeout 1200命令后,仍收到报错:
ERROR: (gcloud.app.deploy) Error Response: [4] Cloud build did not succeed within 10m.
之后添加了cloudbuild.yaml文件,内容如下:
steps: - name: 'gcr.io/cloud-builders/gcloud' args: ['app', 'deploy', '[/app.yaml]'] timeout: '1600s'
但问题依旧存在,请问是我的cloudbuild.yaml配置有误,还是需要通过GCP图形界面进行设置?
问题分析与解决步骤
1. 你的cloudbuild.yaml存在两处配置错误
args里的[/app.yaml]写法错误,不需要方括号,直接写文件名即可(如果app.yaml在项目根目录),正确参数应为:args: ['app', 'deploy', 'app.yaml']timeout字段位置错误,它属于构建作业的全局配置,不能放在steps节点下,正确的文件结构是:timeout: '1600s' steps: - name: 'gcr.io/cloud-builders/gcloud' args: ['app', 'deploy', 'app.yaml']
2. gcloud config set app/cloud_build_timeout未生效的原因
这个命令设置的是gcli工具等待Cloud Build作业的超时时间,而非Cloud Build作业自身的执行超时。Cloud Build默认作业超时为10分钟,这才是导致报错的核心限制。
3. 两种有效解决方式
方式一:修正配置文件并指定部署
修改好cloudbuild.yaml后,部署时需显式指定该配置文件:
gcloud app deploy --config cloudbuild.yaml
或者直接在部署命令中指定Cloud Build超时,无需配置文件:
gcloud app deploy --cloud-build-timeout 1600s
方式二:通过GCP控制台设置全局默认超时
若不想每次部署都额外配置,可在GCP控制台修改全局默认值:
- 进入【Cloud Build】>【设置】>【构建超时】
- 将默认超时时间调整为所需时长(如1600秒),保存即可
内容的提问来源于stack exchange,提问作者newMember
相关产品推荐
相关产品推荐

