我有一个拥有JAVA_HOME
环境变量的Jenkins Slave(Windows PC)。我在Slave上更新了Java版本,所以我也更新了环境变量。
当我通过Jenkins Web界面查看此Slave的系统属性时,JAVA_HOME
属性被报告为旧属性。
在Windows PC上运行echo %PATH%
会显示正确的值。
在Jenves Node脚本控制台上为Slave运行println System.getenv("PATH")
会显示旧的JAVA_HOME值。
我试图删除并再次添加Slave并重新启动Jenkins服务器。旧的价值仍未更新。
有什么想法吗?
答案 0 :(得分:9)
这是Jenkins的一个错误:https://issues.jenkins-ci.org/browse/JENKINS-27739
3种解决方法(我个人已经确认过):
答案 1 :(得分:8)
Hudson / Jenkins不使用slave环境变量,因为它支持多个java版本,因此您可以在GUI中配置java home环境变量。
您需要做的是管理Hudson / Jenkins,然后选择管理节点。从列表中选择要配置的节点,然后选择“配置”。在底部有一个Node Properties部分。选中工具位置复选框。单击Add,然后在下拉列表中选择您的JDK并添加新路径。
答案 2 :(得分:0)
您可以更新您的Jenkins版本,它将解决该问题。否则,这对我有用(Jenkins 1.6,构建/测试节点:MacOSX Mojave):
首先使用以下命令在您的构建/测试节点中安装Java 8 :
brew update
brew cask install caskroom/versions/java8
然后在Jenkins Web面板中单击您的构建/测试节点,然后单击 Configure (配置),然后单击 Advanced ... (高级...)按钮,这将向您显示多个文本字段。然后在JavaPath字段中添加Java 8的路径。
对我来说,这条路就像:
/Library/Java/JavaVirtualMachines/jdk1.8.X_XXX.jdk/Contents/Home/bin/java
注意:请记住,之前请用Java 8版本替换X_XXX
。
然后保存。
之后,断开构建/测试节点,然后重新连接。这应该可以解决问题。