How to set the PATH environment variable in Jenkins configuration on Windows?

时间:2016-04-07 10:29:32

标签: windows jenkins configuration path environment-variables

When I run my build process on Windows Server 2008, it fails with the error message like

Cannot run program "foo": CreateProcess: error=2, The system cannot find the file specified

I've already had a similar issue on Ubuntu Server and resolved it by adding the path to the folder with the binaries installed globally by Composer to the PATH variable in Jenkins config (Manage Jenkins -> Configure System -> Global properties -> Environment variables: name=PATH, value=$PATH:$COMPOSER_HOME/vendor/bin/):

enter image description here

(Due to a permissions moving COMPOSER_HOME outside of the /root directory was also needed to another one, accessible for Jenkins, was also needed.)

Now I tried the same on Windows, but it doesn't work. So, maybe I'm just setting the PATH wrong. What I've tried:

PATH
$PATH:D:\path\to\COMPOSER_HOME\vendor\bin

PATH
$PATH;D:\path\to\COMPOSER_HOME\vendor\bin

PATH
%PATH%D:\path\to\COMPOSER_HOME\vendor\bin

PATH
%PATH%;D:\path\to\COMPOSER_HOME\vendor\bin

How to set the PATH environment variable in Jenkins configs correctly working on Windows?

8 个答案:

答案 0 :(得分:18)

它必须是"路径"而不是"路径"。

Jenkins以区分大小写的方式处理这个特殊变量,并且只有" Path"被识别为路径变量。 " PATH"看起来像jenkins就像一个通用的环境变量,即使在Windows上也是如此。

答案 1 :(得分:16)

我遇到的问题不是由错误的Path配置引起的。 %PATH%;D:\path\to\COMPOSER_HOME\vendor\bin是正确的。

enter image description here

答案 2 :(得分:2)

如果您想在本地为相应的作业设置它,请在 this.acc.panelName.disabled=true 步骤

中尝试此操作
Build -> Execute batch Command

此方法适用于您要执行的任何类型的命令。只需将相应的环境变量本地添加到Path变量,如上所示。

答案 3 :(得分:1)

我有一个类似的要求,即在使用Windows Jenkins主服务器的Windows slave上自定义 Path 变量。我不想创建Jenkins全局环境变量,并希望此变量特定于特定的Windows节点/代理。

这是我做的:

1)创建一个环境变量,如下所示节点 - > WindowsNode - >配置屏幕:

Nodes -> WindowsNode -> Configure

2)断开我的Jenkins节点。

3)直接在slave上重启我的Jenkins系统进程。

4)点击节点 - >进行测试。 WindowsNode - >系统信息并查看分配给节点的新环境变量:

enter image description here

5)然后通过在执行Windows批处理命令构建步骤中添加以下命令,在Windows奴隶/代理上运行的Jenkins作业中使用它:

git --version

答案 4 :(得分:1)

不要对“值”字段中的%PATH%和$ PATH感到困惑。虽然%PATH%是Windows节点的正确语法,但是您应该使用/ foo / bar:$ PATH在Unix节点上扩展PATH

答案 5 :(得分:0)

  • 用于为从属节点添加路径,例如home env变量。

  • 它可以是Slave nide配置完成的目录。

  • 打开任何从属节点的配置设置,添加环境信息。

  • 例如,设置HOME只需添加主目录的名称和位置。

答案 6 :(得分:0)

无法通过其他答案使它起作用。最终在我的从属节点启动器(批处理)脚本中设置了变量:

SET PATH=C:\cygwin64\bin;%PATH%
java -jar agent.jar -jnlpUrl ...

答案 7 :(得分:0)

这就解决了:

前往

Jenkins -> Configure System -> Global properties -> Environment variables: name=Path, value=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin/