如何延长 CloudBuild 超时

ros*_*sco 6 google-cloud-platform google-cloud-build

我尝试了许多不同的选项来延长 CloudBuild 持续时间,但我的 gcloud 应用程序部署步骤总是在 10 分钟后超时。根据其他线程的提示,我在本地终端上尝试了此设置

gcloud config set app/cloud_build_timeout 2000
Run Code Online (Sandbox Code Playgroud)

我还尝试了构建作业和任务级别超时的多种组合,但该步骤总是在 10 分钟时失败,并在云构建日志中出现此错误

ERROR: context deadline exceeded
Run Code Online (Sandbox Code Playgroud)

我的笔记本电脑上出现此错误

Step #2: ERROR: (gcloud.app.deploy) Error Response: [4] Cloud build did not succeed within 10m.
Run Code Online (Sandbox Code Playgroud)

我的cloudbuild.yaml是

steps:
- name: gcr.io/cloud-builders/npm
  args: [ install ]

- name: 'gcr.io/$PROJECT_ID/ng'
  args: ['build', '--prod']

- name: gcr.io/cloud-builders/gcloud
  #entrypoint: 'bash'
  #args: ['-c', 'gcloud config set app/cloud_build_timeout 2000 && gcloud app deploy']
  args: [ app, deploy ]
  timeout: 2000s

timeout: 4600s
Run Code Online (Sandbox Code Playgroud)

我使用以下命令从笔记本电脑运行构建

gcloud builds submit . --config=cloudbuild.yaml --timeout=1h
Run Code Online (Sandbox Code Playgroud)

如何允许 gcloud 应用程序部署步骤运行超过 10 分钟?

更新1

我还根据下面的评论尝试了各种版本,仍然是相同的错误消息

steps:
- name: gcr.io/cloud-builders/npm
  args: [ install ]
  timeout: 2000s

- name: 'gcr.io/$PROJECT_ID/ng'
  args: ['build', '--prod']
  timeout: 2000s

- name: gcr.io/cloud-builders/gcloud
  args: [ app, deploy ]
  timeout: 2000s

timeout: 6100s
Run Code Online (Sandbox Code Playgroud)

我不知道它是否相关,但查看日志,似乎 gcloud app 部署步骤正在再次编译代码,与上一步相同。

sll*_*pis 3

来自文档

向构建步骤添加超时字段。这是因为 Cloud Build 构建步骤和构建的默认超时时间为 10 分钟,而 App Engine 部署可能需要更长的时间才能完成。如果 gcloud app 部署需要超过 10 分钟才能完成,指定较长的超时将确保构建不会超时。

例子:

steps:
- name: 'gcr.io/cloud-builders/gcloud'
  args: ['app', 'deploy']
  timeout: '1600s'
Run Code Online (Sandbox Code Playgroud)

上面的示例将为您的 App Engine 部署添加 27 分钟的超时。