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