【问题标题】:Error in Maven goal inside Jenkins on Docker in WindowsWindows 中 Docker 上 Jenkins 内的 Maven 目标错误
【发布时间】:2018-06-02 16:34:29
【问题描述】:

我正在尝试在我的 Windows 机器上的 docker 上设置 jenkins。一切都很顺利,直到我在 Jenkins 中配置了 maven 目标。看起来 maven 正在忽略启动 docker 时配置的 Jenkins_home 路径。我在启动过程中使用了以下命令

docker run -p 8080:8080 -p 50000:50000 -v //D/jenkins:/var/jenkins_home Jenkins

我也尝试了以下

docker run -p 8080:8080 -p 50000:50000 -v jenkins_home://D/jenkins_workspace jenkins

但我不断收到错误

[crazywebapp_dev] $ mvn clean install

FATAL: 命令执行失败 java.io.IOException: error=2, No such java.lang.UNIXProcess.forkAndExec(Native Method) 处的文件或目录 在 java.lang.UNIXProcess.(UNIXProcess.java:247) 在 java.lang.ProcessImpl.start(ProcessImpl.java:134) 在 java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) 原因: java.io.IOException:无法运行程序“mvn”(在目录中 “/var/jenkins_home/workspace/crazywebapp_dev”):错误=2,没有这样的文件 或目录 java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) 在 hudson.Proc$LocalProc.(Proc.java:249)

我相信它必须与 maven 做一些事情,因为 Jenkins 工作区是在我的 D: 驱动器中创建的,并且代码已从位桶中成功签出,并且工作区内容显示在 Jenkins 中。我还注意到,即使工作区是在我的 D: 驱动器中创建的,Jenkins_home 仍然在 Jenkins 配置页面中显示为 /var/Jenkins_home。请帮我解决这个问题。

【问题讨论】:

  • 问题出在此处:` 无法运行程序“mvn”(在目录“/var/jenkins_home/workspace/crazywebapp_dev”中):错误=2,java.lang 中没有这样的文件或目录。 ProcessBuilder.start(ProcessBuilder.java:1048) 在.. That means your jenkins can't find the mvn` 程序。这意味着 Maven 在您的 jenkins 工具配置中未正确配置..
  • @khmarbaise 。谢谢你。那正是它的本来面目。我期待更多关于“此命令不存在”的错误并且误解了整个事情。

标签: maven docker jenkins maven-3


【解决方案1】:

我还注意到,即使工作区是在我的 D:驱动,Jenkins_home 仍然显示为 /var/Jenkins_home 在 詹金斯配置页面。请帮我解决这个问题。

从容器的角度来看,没有 D: 盘,容器内的 jenkins_home 永远是/var/jenkins_home

语法-v //D/jenkins:/var/jenkins_home 表示将 D:\jenkins 挂载到容器内的 /var/jenkins_home 上。这将有效地替换或备份 jenkins 文件夹中的容器 jenkins home。

语法-v jenkins_home://D/jenkins_workspace 没有用处。这意味着在容器内“创建”一个 /D/jenkins_workspace 目录,并使用名为 jenkins_home 的命名卷来备份此文件夹。这没什么用。

您遇到的主要问题是 jenkins 容器 内没有安装 maven。因此詹金斯显然找不到它。您需要配置要安装的maven。你可以在 jenkins 中做到这一点,方法是:

Manage Jenkins > Configure System > Maven section 然后配置为自动安装maven。

【讨论】:

  • 哇。我正在学习 docker 并且误解了整个事情。非常感谢您解决这个问题。现在一切都设置好了。
猜你喜欢
  • 1970-01-01
  • 2023-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多