我已經設置了一個包含3個分支(master,dev和docker)的github存儲庫。我已經成功設置並鏈接dockerhub上的自動構建。每次在Github上進行推送時,都會在Dockerhub上以不同標記(最新的主設備,開發者的Beta版和碼頭工的Alpha版)構建映像。這工作正常。現在的問題...在Github-Dockerhub上自動構建的Docker工作流程
在Dockerfile上,有一個git clone
命令來檢索項目。問題是這總是指向主人。因此,如果我將某些東西推送到碼頭分支(例如使用alpha標籤構建圖像),那麼該圖像上的項目代碼是主碼而不是分支碼頭代碼,這是此案例所需的分支碼頭代碼。
如果我修改分支docker(它生成alpha標記的圖像)的Dockerfile,我把git clone -b docker ...
構建好,但在所有測試後,當我想合併一個從docker分支到dev分支的pull請求時例如,dev上需要另一個更新,以便將Dockerfile內部的git clone
命令更改爲指向正確的分支。同樣的情況下,從dev到master的pull request對於這個項目來說更加困難,master分支是受保護的,我不能直接push到master ...所以在從dev到master的pull請求之後,我無法修復Dockerfile更改Dockerfile以將git clone
更改爲再次指向主設備。
有沒有辦法在自動化建設中擁有不同標籤的分支,而不需要在從一個分支到另一個分支的請求之後進行任何更改?謝謝。
它並沒有奏效。我從Dockerfile中移除了'git clone'並嘗試了'COPY。/some/existing/path/inside/the/container',並且在推後,自動構建在命令之後失敗,因爲文件不在那裏。我的意思是,COPY命令不會將我的項目複製到容器中。我也嘗試過'COPY ../ some/existing/path/inside/the/container',因爲我的Dockerfile位於項目的/ docker目錄中......但它也不起作用。任何其他想法? – OscarAkaElvis
我的項目在/ docker目錄中有dockerfile文件......並使用COPY。/some/existing/path/inside/the/container'僅拷貝僅具有Dockerfile和README.md的/ docker文件夾的內容。我需要複製父目錄及其所有目錄(不關心/ docker是否被複制)。如何實現這一目標?正如我在其他評論中所說的。使用'COPY ../ some/existing/path/inside/the/container'生成這個錯誤'Build failed:構建上下文之外的禁止路徑:..()' – OscarAkaElvis
@OscarAkaElvis我添加了一些額外的信息和屏幕截圖 – thaJeztah