为什么我无法覆盖 Google Cloud Build 的超时?
Why can't I override the timeout on my Google Cloud Build?
我正在尝试使用 Google Cloud Build 设置 CI 管道。
我正在尝试部署一个构建时间较长的 MeteorJS 应用程序 - GCB 的默认构建超时为 10 分钟,建议 here 我增加超时。
我已经设置了我的 cloudbuild.yaml
文件,timeout
选项增加到 20 分钟:
steps:
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app', 'deploy']
timeout: 1200s
我在连接到 Bitbucket Repo 的 GCB 中设置了一个触发器,当我推送更改并且触发触发器时,我得到了 2 个新构建 - 一个来自 Bitbucket,一个来自 Google Cloud Storage
。
构建时间超过 10 分钟后,从 Cloud Storage 构建将超时,这将导致 Bitbucket 构建也失败 Error Response: [4] DEADLINE_EXCEEDED
有时,无论出于何种原因,云存储构建将在 10 分钟内完成,这将允许 Bitbucket 构建成功完成并部署。
如果我尝试 cancel/stop Cloud Storage 构建,它也会停止 Bitbucket 构建。
下面的屏幕截图显示了 2 次尝试完全相同的构建但结果不同。
我不明白这第二个 Cloud Storage Build 是从哪里来的,但它似乎不受我的 yaml 文件中的设置或我的全局 GCP 设置的影响。
我已尝试从 gcloud
CLI 运行 以下命令:
gcloud config set app/cloud_build_timeout 1200
gcloud config set builds/timeout 1200
gcloud config set container/build-timeout 1200
我也尝试过使用高 CPU 构建机器来加速这个过程,但它似乎没有任何效果。
任何见解将不胜感激 - 我觉得我已经用尽了我能想到的 Google 搜索关键字的所有可能组合!
此超时错误来自 App Engine 部署本身,默认情况下有 10 分钟的超时。
您需要像这样在容器内部更新 app/cloud_build_timeout 属性:
steps:
- name: 'gcr.io/cloud-builders/gcloud'
entrypoint: 'bash'
args: ['-c', 'gcloud config set app/cloud_build_timeout 1200 && gcloud app deploy']
timeout: 1200s
更新
其实更简单solution:
steps:
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app', 'deploy']
timeout: 1200s
timeout: 1200s
我正在尝试使用 Google Cloud Build 设置 CI 管道。
我正在尝试部署一个构建时间较长的 MeteorJS 应用程序 - GCB 的默认构建超时为 10 分钟,建议 here 我增加超时。
我已经设置了我的 cloudbuild.yaml
文件,timeout
选项增加到 20 分钟:
steps:
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app', 'deploy']
timeout: 1200s
我在连接到 Bitbucket Repo 的 GCB 中设置了一个触发器,当我推送更改并且触发触发器时,我得到了 2 个新构建 - 一个来自 Bitbucket,一个来自 Google Cloud Storage
。
构建时间超过 10 分钟后,从 Cloud Storage 构建将超时,这将导致 Bitbucket 构建也失败 Error Response: [4] DEADLINE_EXCEEDED
有时,无论出于何种原因,云存储构建将在 10 分钟内完成,这将允许 Bitbucket 构建成功完成并部署。
如果我尝试 cancel/stop Cloud Storage 构建,它也会停止 Bitbucket 构建。
下面的屏幕截图显示了 2 次尝试完全相同的构建但结果不同。
我不明白这第二个 Cloud Storage Build 是从哪里来的,但它似乎不受我的 yaml 文件中的设置或我的全局 GCP 设置的影响。
我已尝试从 gcloud
CLI 运行 以下命令:
gcloud config set app/cloud_build_timeout 1200
gcloud config set builds/timeout 1200
gcloud config set container/build-timeout 1200
我也尝试过使用高 CPU 构建机器来加速这个过程,但它似乎没有任何效果。
任何见解将不胜感激 - 我觉得我已经用尽了我能想到的 Google 搜索关键字的所有可能组合!
此超时错误来自 App Engine 部署本身,默认情况下有 10 分钟的超时。
您需要像这样在容器内部更新 app/cloud_build_timeout 属性:
steps:
- name: 'gcr.io/cloud-builders/gcloud'
entrypoint: 'bash'
args: ['-c', 'gcloud config set app/cloud_build_timeout 1200 && gcloud app deploy']
timeout: 1200s
更新
其实更简单solution:
steps:
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app', 'deploy']
timeout: 1200s
timeout: 1200s