在Jenkins节点配置中指定工具位置的相关性

时间:2014-08-27 21:02:12

标签: jenkins

在"工具位置"下指定工具有什么作用?在Jenkins Node配置中,究竟怎么做? enter image description here

我想在自由风格项目中运行mvn命令。我在"工具位置"下指定了Maven工具及其主页。那并没有帮助。由于无法找到mvn,这项工作失败了。我遵循了这个solution并修改了PATH变量以包含maven路径。这就是诀窍。

那么指定工具位置到底有何帮助?是否只是帮助用户在访问Jenkins节点配置站点时看到工具路径?

2 个答案:

答案 0 :(得分:11)

在全局配置中,您可以配置不同的工具,例如Maven,JDK,Ant等。当您这样做时,您还提供了一种安装方法(通常是自动在线安装程序)。

现在,在作业配置中,当您使用其中一个工具配置构建步骤时,例如调用Ant ,您将看到一个下拉列表。第一个选项是Default,下一个选项是您在全局配置中配置的任何工具安装。

如果您选择Default,只需执行javaant或{{1}等命令,即可使用系统上已安装的 }}。显然,如果这些命令不在mvn中,它将失败。 如果您选择其中一个已配置的选项,Jenkins会将其安装到系统中(如果尚未完成),并使用该特定版本(而不是path下的版本)。

此安装将在主节点和从节点上进行。如果您想要在特定节点上使用此自动安装,则可以在您提供的屏幕截图中手动指定特定工具的位置。

以上内容仅在您的“作业配置”中选择除path以外的工具的特定版本时才有用,因为已经说明:Default将使用已安装的任何内容系统(不是詹金斯)。

答案 1 :(得分:1)

回答您的问题:

  

那么指定工具位置到底有何帮助?

嗯,不是我会说的。这意味着为在不同位置的全局配置页中设置的任何程序指定自定义安装目录路径。如果您在全局设置中配置了mvn 2.0但希望在此特定节点上使用mvn 3.0,则可以使用Tool Locations。但是,仅当可执行文件的路径已经存在于运行从属进程的用户的PATH env变量中时才会起作用

  

是否只是为了帮助用户在访问Jenkins时看到工具路径   节点配置站点?

嗯,是的,你可以这么说。我是这么说的,因为无论何时指定自定义路径,它通常都不在运行进程的用户的PATH中。在大多数情况下,这是正确的,因为这些二进制文件不会独立运行。他们需要其他依赖模块才能正常工作,否则只需将一个二进制文件放入已经存在于PATH中的目录之一就足够了。因此,可以肯定地说,您必须在PATH中添加路径到可执行文件才能使其正常工作。

如果您注意到?中的帮助(Tool Locations)部分,即使对使用此功能并不感到非常兴奋:P它说: 您可以在此节点上指定某些工具的位置,从而覆盖全局配置。 (您可能更喜欢使用自动工具安装程序,无需单独配置每个节点。)