繁体   English   中英

通过触发器进行 GCP 云构建:Dockerfile 未找到

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM