如何在 2021 年增加 gcloud 应用程序部署超时

How to increase gcloud app deploy timeout in 2021

are many 这个问题,但他们在 2021 年 1 月不再在这里工作。所有这些答案有 3 种形式:

  1. 使用 gcloud config set app/cloud_build_timeout 1600 之类的设置本地机器超时,然后使用 gcloud app deploy ...
  2. 进行部署
  3. gcloud app deploy 构建步骤和全局配置中使用 cloudbuild.yaml 文件代替 timeout: 1600s 位,然后使用 gcloud builds submit ...
  4. 进行部署
  5. Per google's own docs,不要在 cloudbuild 文件中设置 timeout: 1600s,而是将前 2 种风格混搭,构建步骤包括 args: ['-c', 'gcloud config set app/cloud_build_timeout 1600 && gcloud app deploy']

None 对 app deploy 构建有任何影响 - 它停留在 10 分钟。使用 gcloud builds submit 时,会启动 2 个云构建:一个用于 cloudbuild.yaml,另一个用于使用 buildpack 的应用引擎部署。上述解决方案可能会影响第一个构建,但是一旦第一个构建启动第二个构建(gcloud app deploy,您可以在“执行详细信息”选项卡中的 https://console.cloud.google.com/cloud-build 处看到超时仍为 10m。

IMO,解决方案 2-3 是 hack,因为 1 不起作用,但现在 2-3 也不起作用,我正在寻找另一个 hack。有没有人有在 2021 年有效的解决方案?由于我的应用程序使用的是 GAE 标准环境,因此我无法预构建图像 - 我一直坚持使用 Buildpack 构建我的 ruby 应用程序并每次都拉出所有 Gems,这耗尽了看似不可变的 10m 时钟。

无法更改 App Engine 标准中的超时 属性,它始终为 10 分钟。解决方法是使用 App Engine flex,这样您就可以使用 gcloud config set app/cloud_build_timeout TIME_SECONDS.

有一个 feature request 可以为 App Engine 标准启用超时编辑,但似乎仍在进行中。