今天為一個專案撰寫持續構建計劃,撰寫 Jenkinsfile
之後進行構建時報錯:
[2022-05-23 16:54:21] unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /root/workspace/Dockerfile: no such file or directory script returned exit code 1
我一開始還以為是我寫的 Jenkinsfile
有問題,可是這個 Jenkinsfile
內容極其簡單,就是拉取程式碼然後docker build
,所以百思不得其解。然後仔細一看這個報錯資訊,又 Google 查了,可以確認出錯的原因就是找不到 Dockerfile
這個檔案。
然後我開啟了程式碼倉庫,定睛一看,好傢伙,只有 dockerfile
而沒有 Dockerfile
,這我能忍。當時就本地開啟我的 VSCode 就是一個重新命名操作,嗯很好。然後重新命名後一看,Git 狀態沒有絲毫變化,我愣住了。然後又去 Google,發現這是我本機 Git 預設的正常操作,也就是說 Git 它會忽略檔名大小寫變化。
為了解決上述這個問題,可以終端執行以下命令:
git mv dockerfile Dockerfile
只有一個檔名大小寫變化的這種場景,已經知道怎麼應對了。要是有很多個檔案都是名字大小寫變化,這種情況又該怎麼辦呢。
不要慌,遇到這種場景,首先可以移除所有 git 快取:
git rm -r --cached .
上面