[英]GCP Cloud Build via trigger: Dockerfile not found
我尝试通过从 Gitlab 调用的 webhook 在 GCP Cloud Build 上触发构建 Docker 图像。该 webhook 有效,但当我运行docker build
时构建过程停止并出现此错误:
unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /workspace/Dockerfile: no such file or directory
这一步的YAML是:
- name: gcr.io/cloud-builders/docker
args:
- build
- '-t'
- '${_ARTIFACT_REPO}'
- .
我后来通过substitutions
提供变量_ARTIFACT_REPO
。
我的 Gitlab 存储库包括根级别的 Dockerfile。 所以回购结构是:
app/
.gitignore
Dockerfile
README.md
requirements.txt
报错提示找不到Dockerfile,但我不明白为什么会这样。 非常感谢您的帮助!
刚刚解决了这个问题:
我遵循了 GCP 文档( 链接),其中在云构建中包含了这两个步骤:
- name: gcr.io/cloud-builders/git
args:
- clone
- '-n'
- 'git@gitlab.com/GITLAB_REPO'
- .
volumes:
- name: ssh
path: /root/.ssh
- name: gcr.io/cloud-builders/git
args:
- checkout
- $_TO_SHA
因为我不需要特定的签出,所以我删除了其中的第二步,但我忽略了第一步中的-n
标志,该标志阻止签出克隆的存储库。
所以我只是删除了- '-n'
并解决了问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.