我尝试了许多不同的选项来延长 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 …Run Code Online (Sandbox Code Playgroud) 以前使用容器注册表时,可以使用此方法在项目之间复制容器
但是我无法使用 ArtifactRegistry 来实现此功能。如果我尝试
gcloud artifacts docker tags add \
us-east4-docker.pkg.dev/source-proj/my-repo/my-image:latest \
us-east4-docker.pkg.dev/dest-proj/my-repo/my-image:latest
Run Code Online (Sandbox Code Playgroud)
它给出了错误
ERROR: (gcloud.artifacts.docker.tags.add) Image us-east4-docker.pkg.dev/source-proj/my-repo/my-image
does not match image us-east4-docker.pkg.dev/dest-proj/my-repo/my-image
Run Code Online (Sandbox Code Playgroud)
我进行了搜索,但找不到任何有关如何执行此操作的示例或文档。
google-container-registry container-image docker-repository google-artifact-registry