Mac上的jenkins,PATH没有设置正确,没有/ usr/local/bin

Dan*_*row 33 macos homebrew launchd jenkins

我最近使用Homebrew安装了Jenkins.我还使用Homebrew安装了Mercurial.

我可以成功克隆一个hg仓库 - 从终端.但如果我尝试在詹金斯的工作中做同样的事情,那就失败了.

所以,在工作中,我告诉Jenkins运行一个shell脚本echo $PATH.果然,路径/usr/local/bin不存在.如果我从终端执行相同的命令,它就在那里.

那么,什么是修改PATH的最佳方法,以便当我从终端回显时,Jenkins正在拉动我正在使用的相同PATH?

注意,Jenkins是从我登录进行这些测试的同一个用户帐户运行的,所以我无法理解为什么会发生这种情况.

gai*_*ige 16

在Jenkins的launchd .plist文件中,您可以使用以下命令设置PATH环境变量:

<key>EnvironmentVariables</key>
<dict>
    <key>PATH</key>
    <string>(insert your path value here)</string>
</dict>
Run Code Online (Sandbox Code Playgroud)

这应该将PATH设置为您需要的任何东西.

  • 值可以是"$ PATH:/ my/other/path"吗?我需要追加道路. (2认同)
  • 我在 OSX 10.10 上为 Jenkins 从属设备尝试了此操作,但无论出于何种原因,路径都不会改变。我可以设置其他变量...但不能设置 PATH。最终,我只是在 Jenkins 节点配置中将 PATH 设置为环境变量。 (2认同)
  • 执行 `brew services restart jenkins` 后,配置将被重置。 (2认同)
  • @gagarine 您只需将其插入根级 `&lt;plist ...&gt;&lt;dict&gt;` 标签内。一个很好的例子在这里:http://serverfault.com/a/128693/1687 (2认同)

Max*_*ues 8

出于某种原因,Jenkins在连接到从属服务器时不会将/ usr/local/bin保留在PATH中.
您可以将其添加到PATH中