Google Cloud Build via cloudbuild.yaml 随机超时
Google Cloud Build via cloudbuild.yaml times out randomly
我有两个 Google App Engine 实例,以及 queue.yaml 和 cron.yaml 文件通过 Google Cloud Build 触发器在推送到 master 分支时自动部署。触发器 运行 是以下 cloudbuild.yaml 文件:
steps:
- name: gcr.io/cloud-builders/gcloud
dir: website
args: ['app', 'deploy', 'app.yaml']
waitFor: ["-"]
- name: gcr.io/cloud-builders/gcloud
dir: support_backend
args: ['app', 'deploy', 'support_backend.yaml']
waitFor: ["-"]
- name: gcr.io/cloud-builders/gcloud
dir: website
args: ['app', 'deploy', queue.yaml]
waitFor: ["-"]
- name: gcr.io/cloud-builders/gcloud
dir: website
args: ['app', 'deploy', 'cron.yaml']
waitFor: ["-"]
timeout: 900s
app.yaml配置一个Python3.7标准环境运行ning Django,support_backend.yaml配置相同环境运行ning Flask
直到昨天,当构建开始随机超时时,我才遇到任何部署问题。之前整个过程大约需要五分钟,现在构建超时(10 分钟后)。
我没有做任何大的代码更改(实际上只是更改了三行),我没有使用任何新库。我尝试使用 waitFor 参数,以便 none 的步骤相互依赖。有时 app.yaml 超时(有时需要 2 分钟),有时 support_backend.yaml 超时(有时需要 2 分钟)。哪一个实例失败似乎是随机的。 此外,我已经通过 gcloud 控制台(使用 gcloud app deploy app.yaml
)成功地独立部署了这两个应用程序,每次都运行良好,每次大约需要 3 分钟。 编辑: 我现在也通过 gcloud 控制台进行部署超时。
我试过设置超时:900s - 这似乎没有任何效果,构建仍然在 10 分钟后超时。 Google 云状态仪表板昨天提到构建服务中断,但仅限于亚洲服务器,而我的应用程序 运行 在欧洲。此外,此问题已标记为已解决,但问题对我来说仍然存在。
这是失败构建日志的结尾
...
File upload done.
Updating service [staging]...failed.
ERROR: (gcloud.app.deploy) Error Response: [4] Cloud build did not succeed within 10m.
Build error details: Build error details not available..
Check the build log for errors: https://console.cloud.google.com/gcr/builds/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX?project=XXXXXXXX
以及它提到的构建日志的末尾
...
Step #1 - "builder": INFO gzip_tar_runtime_package took 0 seconds
Step #1 - "builder": INFO Finished gzipping tarfile.
Step #1 - "builder": INFO Building app layer took 0 seconds
Step #1 - "builder": INFO starting: Stitching layers into final image
Finished Step #1 - "builder"
TIMEOUT
ERROR: context deadline exceeded
还有什么我可以尝试确定我的构建超时的确切原因吗?
cloudbuild.yaml
文件中的超时大约是您的 云构建提交。但是,当命令 gcloud app deploy
为 运行 时,将调用一个新的 Cloud Build,而失败的正是这个
自上周以来,我们还经历了可变的构建持续时间。在获得 Google 云支持后,他们告诉我们 Cloud Build 上存在一个问题。未提供决议日期。
目前唯一的解决方法:将您的 Cloud Build 文件拆分为仅执行小步骤,多尝试几次,如果幸运的话,它会通过!
我有两个 Google App Engine 实例,以及 queue.yaml 和 cron.yaml 文件通过 Google Cloud Build 触发器在推送到 master 分支时自动部署。触发器 运行 是以下 cloudbuild.yaml 文件:
steps:
- name: gcr.io/cloud-builders/gcloud
dir: website
args: ['app', 'deploy', 'app.yaml']
waitFor: ["-"]
- name: gcr.io/cloud-builders/gcloud
dir: support_backend
args: ['app', 'deploy', 'support_backend.yaml']
waitFor: ["-"]
- name: gcr.io/cloud-builders/gcloud
dir: website
args: ['app', 'deploy', queue.yaml]
waitFor: ["-"]
- name: gcr.io/cloud-builders/gcloud
dir: website
args: ['app', 'deploy', 'cron.yaml']
waitFor: ["-"]
timeout: 900s
app.yaml配置一个Python3.7标准环境运行ning Django,support_backend.yaml配置相同环境运行ning Flask
直到昨天,当构建开始随机超时时,我才遇到任何部署问题。之前整个过程大约需要五分钟,现在构建超时(10 分钟后)。
我没有做任何大的代码更改(实际上只是更改了三行),我没有使用任何新库。我尝试使用 waitFor 参数,以便 none 的步骤相互依赖。有时 app.yaml 超时(有时需要 2 分钟),有时 support_backend.yaml 超时(有时需要 2 分钟)。哪一个实例失败似乎是随机的。 此外,我已经通过 gcloud 控制台(使用 编辑: 我现在也通过 gcloud 控制台进行部署超时。gcloud app deploy app.yaml
)成功地独立部署了这两个应用程序,每次都运行良好,每次大约需要 3 分钟。
我试过设置超时:900s - 这似乎没有任何效果,构建仍然在 10 分钟后超时。 Google 云状态仪表板昨天提到构建服务中断,但仅限于亚洲服务器,而我的应用程序 运行 在欧洲。此外,此问题已标记为已解决,但问题对我来说仍然存在。
这是失败构建日志的结尾
...
File upload done.
Updating service [staging]...failed.
ERROR: (gcloud.app.deploy) Error Response: [4] Cloud build did not succeed within 10m.
Build error details: Build error details not available..
Check the build log for errors: https://console.cloud.google.com/gcr/builds/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX?project=XXXXXXXX
以及它提到的构建日志的末尾
...
Step #1 - "builder": INFO gzip_tar_runtime_package took 0 seconds
Step #1 - "builder": INFO Finished gzipping tarfile.
Step #1 - "builder": INFO Building app layer took 0 seconds
Step #1 - "builder": INFO starting: Stitching layers into final image
Finished Step #1 - "builder"
TIMEOUT
ERROR: context deadline exceeded
还有什么我可以尝试确定我的构建超时的确切原因吗?
cloudbuild.yaml
文件中的超时大约是您的 云构建提交。但是,当命令 gcloud app deploy
为 运行 时,将调用一个新的 Cloud Build,而失败的正是这个
自上周以来,我们还经历了可变的构建持续时间。在获得 Google 云支持后,他们告诉我们 Cloud Build 上存在一个问题。未提供决议日期。
目前唯一的解决方法:将您的 Cloud Build 文件拆分为仅执行小步骤,多尝试几次,如果幸运的话,它会通过!