簡體   English   中英

如何使用Jenkinsfile在子目錄中構建Dockerfile

[英]How build a Dockerfile in a Subdirectory using a Jenkinsfile

我有一個帶有聲明性管道Jenkinsfile的github存儲庫。 我節點上的工作目錄包含子目錄。

該項目是使用Visual Studio 2017和.net core 2.1創建的簡單的空linkx docker項目。 它可以在我的Windows 7計算機上正常執行,並具有一個hello world網頁。

我無法在jenkins上構建Dockerfile。 我可以使用dir(...){}開始Dockerfile構建。 失敗的步驟總是

COPY ["MyProject/MyProject.csproj", "MyProject/"]

此步驟要求相對路徑位於MySolution

文件Workspace/MySolution/MyProject/MyProject.csproj存在

錯誤消息是Workspace/MyProject/MyProject.csproj不存在。

我用谷歌和stackoverflow窮舉搜索。 我嘗試的事情包括sh命令, dir語法,docker build上的選項-f 其中一些是直截了當的失敗,而我遇到的最佳結果就是COPY步驟問題。

Jenkinsfile中失敗步驟的一個示例是:

dir("MySolution/MyProject")
{
    script
    {
        docker.build("MyProject", ".")
    }
}

由於上面的COPY問題,此操作失敗。

我看到了一些問題,因此似乎在這里不太適用,哪些解決方案沒有解決此問題。

事實證明,我最終真的很接近問題的解決方案。 這解決了我的子文件夾問題:

dir("MySolution")
{
    script
    {
        docker.build("MyProject", "-f ./MyProject/Dockerfile .")
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM