簡體   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