如何配置Hudson作业以使用特定的JDK?

rew*_*wbs 30 java hudson

我有一些在Hudson奴隶上运行的项目.我希望其中一个在Java6下运行Ant,而不是默认(在我的环境中是Java5).

在项目配置视图中,我希望找到:

  • 一个显式选项,允许我设置一个自定义JDK位置以用于此项目.
  • 一种为此项目设置自定义环境变量的方法,它允许我将JAVA_HOME设置为JDK6位置.这将使Ant在需要时在Java6上运行并运行.

有没有办法做上述任何一种?如果其中一个设施可用,我看不到如何访问它.我正在运行Hudson 1.285.

如果可能的话,我宁愿避免使用"执行shell"操作而不是"调用Ant"操作:我的slave在z/OS上,Hudson似乎没有在这个平台上正确创建临时shell脚本(可能是编码问题) ).

Mar*_*ark 27

我们配置了Java 5和Java 6,以便在我们的Hudson实例中使用.

在Manage Hudson - > Configuration System下,您可以添加许多JDK并指定JAVA_HOME的路径.在每个作业的配置中,您随后选择了要运行该作业的JDK.


rew*_*wbs 25

事实证明,如果您对构建进行参数化,则添加的任何字符串参数都将成为环境变量.使用这种方法,可以为构建设置任何环境变量,包括由Ant拾取的JAVA_HOME.

所以对我来说最好的解决方案是:

  1. 在作业配置页面中勾选"此构建已参数化"
  2. 添加一个名为JAVA_HOME的新String参数,并将默认值设置为JDK位置

构建字符串参数变成环境变量并不明显,但是一旦你知道它们,它就很容易以这种方式设置JDK.

Hudson邮件列表上的开发人员推荐了另一种使用主JDK配置和覆盖节点配置的方法......但是设置JAVA_HOME env var对我来说似乎更容易.