Jenkins奴隶环境变量刷新

时间:2011-12-15 16:56:56

标签: jenkins hudson environment-variables java-home

我有一个拥有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服务器。旧的价值仍未更新。

有什么想法吗?

3 个答案:

答案 0 :(得分:9)

这是Jenkins的一个错误:https://issues.jenkins-ci.org/browse/JENKINS-27739

3种解决方法(我个人已经确认过):

  1. 将Jenkins更新为> = 1.617(推荐)
  2. 重新启动Jenkins master
  3. 删除Jenkins slave,然后重新添加

答案 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的路径。

enter image description here

对我来说,这条路就像:

/Library/Java/JavaVirtualMachines/jdk1.8.X_XXX.jdk/Contents/Home/bin/java

注意:请记住,之前请用Java 8版本替换X_XXX

然后保存

之后,断开构建/测试节点,然后重新连接。这应该可以解决问题。

Source