我有一个Jenkins Slave(一台Windows PC),它有JAVA_HOME
环境变量。我在Slave上更新了Java版本,所以我也更新了环境变量。
当我通过Jenkins web界面查看此Slave的系统属性时,JAVA_HOME
属性被报告为旧属性。
在Windows PC上运行echo %PATH%
会显示正确的值。在Jenves Node脚本控制台上为Slave运行println System.getenv("PATH")
会显示旧的JAVA_HOME值。
我试图删除并再次添加Slave并重新启动Jenkins服务器。旧的价值仍未更新。
有什么想法吗?
Hudson / Jenkins不使用slave环境变量,因为它支持多个java版本,因此您可以在GUI中配置java home环境变量。
你需要做的是去管理Hudson / Jenkins,然后选择Manage Nodes。从列表中选择要配置的节点,然后选择“配置”。在底部有一个Node Properties部分。选中工具位置复选框。单击Add,然后在下拉列表中选择您的JDK并添加新路径。
这是詹金斯的一个错误:https://issues.jenkins-ci.org/browse/JENKINS-27739
解决3种方法(我亲自确认了每种方法):
重启奴隶,这解决了我的配置问题。
你可以更新你的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
。
然后保存。
之后断开构建/测试节点并再次连接它。这应该可以解决问题。