【发布时间】:2021-08-10 08:06:44
【问题描述】:
我已经设置了一个 Google Cloud Build 管道,它将从 Dockerfile 构建一个 docker 映像,测试该映像并将该映像推送到 Google Container Registry。
在运行管道时,我注意到所有定义的步骤都以SUCCESS 状态通过,但构建摘要本身以FAILURE 状态返回,即使我可以看到图像正在生成到 Google 容器注册表中。
我使用以下命令构建图像
gcloud builds submit --config cloudbuild.yml --gcs-log-dir 'gs://<bucket>' .
以下是返回的错误信息:
ERROR: (gcloud.builds.submit) build www-xxxx-yyyy-zzzz completed with status "FAILURE"
???? Error: The command exited with status 1
如果所有步骤都标记为SUCCESS,gcloud builds submit 命令是否有任何理由以上述代码1 退出?
以下是从gcloud builds describe 命令获取的针对特定构建的一些过滤日志数据。
steps:
- args:
- build
- -t
- <host>/<project/<image>:<tag>
- .
name: gcr.io/cloud-builders/docker
status: SUCCESS
- args:
- test
- --image
- <host>/<project/<image>:<tag>
- --config
- test_config.yml
- -o
- json
name: gcr.io/gcp-runtimes/container-structure-test
status: SUCCESS
以下是 Google Cloud Build 设置:
# cloudbuild.yml
steps:
# Build the image
- name: 'gcr.io/cloud-builders/docker'
args: [ 'build', '-t', '<host>/<project/<image>:<tag>', '.' ]
# Test the image
- name: 'gcr.io/gcp-runtimes/container-structure-test'
args: [
'test',
'--image',
'<host>/<project/<image>:<tag>',
'--config',
'test_config.yml',
'-o',
'json'
]
# Push the image
images: [ '<host>/<project/<image>:<tag>' ]
【问题讨论】:
-
这是在本地环境中完成还是在 GCP 上完成?询问是因为 GCP 应该有审核日志,它通常会提供有关错误的更多详细信息,因为我认为错误 1 是一个通用错误代码。
-
您是否尝试更新您的 gcloud sdk 版本?
-
@fabc 它是在 GCP 上完成的,查看了所有日志,但实际上无法为摘要级别日志绘制任何内容。单个步骤的日志也没有显示任何错误。仅返回带有 ERROR 状态的构建摘要
-
@guillaume 我没试过,我注意到最近 gcloud CLI 有一个更新,也许它也带有新的 SDK。我会试一试,看看它是否有效。谢谢!
-
如果您尝试更新 gcloud SDK 版本以及是否解决了问题,请告知我们,以便其他用户将来可以从您的回复中受益。否则,我会尽量重现你的情况。
标签: docker google-cloud-build google-container-registry