Jenkins/Hudson环境变量

Mic*_*ael 97 hudson environment-variables jenkins

我从用户那里运行Jenkins jenkins已经$PATH设置了什么,当我进入Jenkins web界面时,在System Properties窗口(http://$host/systemInfo)中我看到了一个不同的东西$PATH.

我已经使用Jenkins网站上的原生rpm在Centos上安装了Jenkins.我正在使用随安装提供的启动脚本sudo /etc/init.d/jenkins start

任何人都可以向我解释为什么会这样吗?

Sag*_*gar 135

迈克尔,

两件事情:

当Jenkins连接到计算机时,它会转到shshell,而不是bashshell(至少这是我注意到的 - 我可能是错的).因此,不会考虑对bashrc文件中的$ PATH所做的任何更改.

此外,您在本地shell中对$ PATH所做的任何更改(您个人搜索到的)都不会在Jenkins中显示.

要更改Jenkins使用的路径,您有两个选项(AFAIK):

1)编辑/etc/profile文件并添加所需的路径

2)转到slave的配置页面,添加环境变量PATH,值为:$PATH:/followed-by/paths/you/want/to/add

如果您使用第二个选项,系统信息仍然不会显示它,但您的构建将看到添加的路径.

  • 有一个小的黑暗角落:jenkins master缓存来自slave的环境变量,以便修补自定义.因此,如果更改从站(系统或用户)上的环境变量,则需要重新启动主站以更新从站配置. (14认同)
  • 解决方案2是要走的路. (9认同)
  • 这个答案对我有用,但我注意到Jenkins对你写入配置页面的内容非常敏感.我无法使用带空格的路径. (2认同)
  • 后续:在我的Ubuntu系统上,jenkins服务是一个新手工作,所以我正在修改旧的sysvinit存根脚本.错误的地方.当我调整/etc/init/jenkins.conf脚本,并在exec的java之前更新PATH时,这似乎有效. (2认同)

bry*_*edy 34

我一直遇到这个问题,但现在我只是添加:

source /etc/profile
Run Code Online (Sandbox Code Playgroud)

作为构建过程的第一步.现在我的所有后续规则都被加载,以便Jenkins顺利运行.

  • 咦?详细一点,请...你在哪里添加?怎么样?什么时候?它在Windows上有效吗? (5认同)
  • 它适用于Mac,我发现`/ usr/local/bin`这样的路径在`/ etc/paths`中指定,`/ etc/paths`由`/ usr/libexec/path_helper`使用,而path_helper是在`/ etc/profile`中执行. (2认同)

小智 20

您还可以编辑/etc/sysconfig/jenkins文件以对环境变量等进行任何更改.我只是添加source /etc/profile到文件的末尾./etc/profile拥有所有适当的PATH变量设置.执行此操作时,请确保重新启动Jenkins

/etc/init.d/jenkins restart
Run Code Online (Sandbox Code Playgroud)

我们正在运行ZendServer CE,它在不同的路径中安装pear,phing等,所以这很有帮助.此外,我们没有得到LD_LIBRARY_PATH我们过去使用Oracle客户端和Jenkins 的错误.


mma*_*car 14

我试过了/etc/profile, ~/.profile而且~/.bash_profile没有一个有效.我发现~/.bashrcjenkins slave帐户的编辑确实如此.

  • 那是因为非登录shell既不读取`/ etc/profile`也不读取`〜/ .profile` (3认同)

TJ *_*dle 9

这个答案的信息已经过时了.您需要转到配置Jenkins>然后您可以单击以从中添加环境变量键值对.

例如:export MYVAR=testMYVAR是关键,test是价值.


Vic*_*cro 5

我找到了两个插件。\n一个从文件加载值,另一个允许您在作业配置屏幕中配置值。

\n\n

Envfile Plugin \xe2\x80\x94 该插件使您能够通过文件设置环境变量。文件的格式必须是标准 Java 属性文件格式。

\n\n

EnvInject Plugin \xe2\x80\x94 该插件可以添加环境变量并执行设置脚本,以便为作业设置环境。

\n


Rob*_*eca 5

在我的新EC2实例上,只需将新值添加到Jenkins用户的.profile的PATH中,然后重新启动tomcat就可以了.

在配置不同的旧实例上,使用Sagar的答案#2 是唯一有效的(即.profile,.bash*不起作用).