Windows中的Docker中的Jenkins目标中的错误
我想在我的Windows机器上的docker上安装jenkins。 一切都很顺利,直到我在jenkinsconfiguration了maven目标。 它看起来像maven是俯瞰启动docker时configuration的Jenkins_homepath。 我在启动过程中使用了以下命令
docker运行-p 8080:8080 -p 50000:50000 -v // D / jenkins:/ var / jenkins_home Jenkins
我也尝试了以下
docker运行-p 8080:8080 -p 50000:50000 -v jenkins_home:// D / jenkins_workspace jenkins
但我不断收到错误
[crazywebapp_dev] $ mvn干净安装
致命错误:命令执行失败java.io.IOException:错误= 2,在java.lang.UNIXProcess上的java.lang.UNIXProcess.forkAndExec(Native方法)上没有这样的文件或目录。(UNIXProcess.java:247)at java.lang .ProcessImpl.start(ProcessImpl.java:134)at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)导致:java.io.IOException:无法运行程序“mvn”(在目录“/ var / jenkins_home / workspace /疯狂webapp_dev“):错误= 2,没有这样的文件或目录在java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)在hudson.Proc $ LocalProc。(Proc.java:249)
我相信它已经做了一些maven的工作,因为jenkins工作区是在我的D:驱动器中创build的,代码从位桶中成功检出,工作区内容在Jenkins中显示。 我也注意到,即使工作空间是在我的D:驱动器中创build的,Jenkins_home在Jenkinsconfiguration页面仍然显示为/ var / Jenkins_home。 请帮我弄清楚这一点。
我也注意到,即使工作空间是在我的D:驱动器中创build的,Jenkins_home在Jenkinsconfiguration页面仍然显示为/ var / Jenkins_home。 请帮我弄清楚这一点。
从容器的angular度来看,没有D:驱动器,jenkins_home将始终是容器内的/var/jenkins_home
。
语法-v //D/jenkins:/var/jenkins_home
表示将D:\ jenkins挂载到容器内的/ var / jenkins_home上。 这将有效地取代或备份jenkins文件夹中的容器jenkins。
语法-v jenkins_home://D/jenkins_workspace
没有用处。 这意味着在容器中创build一个/ D / jenkins_workspace目录,并使用名为jenkins_home
的命名卷来备份该文件夹。 这没有用。
你有的主要问题是,maven没有安装在jenkins容器内 。 因此jenkins显然找不到它。 你需要configurationmaven来安装。 你可以在jenkins做到这一点,去:
Manage Jenkins > Configure System > Maven section
,然后configuration它自动安装maven。