![](/img/trans.png)
[英]Build And Run Docker Image through Jenkins SCM (Jenkinsfile pushed along with code to repo), Jenkins itself running in docker, using 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.