[英]Jenkins can't find binary in PATH and doesn't appear to inherit from Linux
我已经为此尝试了一切,但已经耗尽了我的知识。 我试图让 Jenkins 使用来自 Linux 的路径,但它似乎不起作用。
在 RHEL Linux 上运行 Jenkins,Jenkins 使用“jenkins”用户运行:
如果我 sudo su 作为“jenkins”用户,我可以在路径上看到 Blaze 和 Firefox 之类的项目:
(Jenkins 和服务器都已多次重新启动,因为它们已经在路径上)
如果我在jenkins
用户 bash 中使用firefox -V
,它工作正常。 在尝试使用 Firefox 驱动程序的 Jenkins 作业中,它出现以下错误:
Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: LINUX
在系统信息中,它有PATH=/sbin:/usr/sbin:/bin:/usr/bin
Running as SYSTEM
[EnvInject] - Loading node environment variables.
节点的设置是默认的,我理解这意味着它应该从 linux 继承
我还做了一个运行以下内容的工作:
whoami
echo $PATH
firefox -V
这将返回:
+ whoami
jenkins
+ echo /sbin:/usr/sbin:/bin:/usr/bin
/sbin:/usr/sbin:/bin:/usr/bin
+ firefox -V
/tmp/jenkins4835013049839580673.sh: line 4: firefox: command not found
无论我尝试什么,我似乎都无法让 Jenkins 使用“正确”的 Path 值。 是不是我遗漏了什么,或者它是否像我感觉的一样令人困惑?
额外的东西:
任何人都可以帮忙吗?
我遇到了同样的问题,无法从 jenkins 执行我的 grails 二进制文件,因为它是在我启动终端时“以编程方式”添加的,这不适用于 Jenkins。 我的解决方案只是将 grails 二进制文件符号链接到/usr/local/bin
,它可以在 Jenkins 的$PATH
。
符号链接使用: sudo ln -s /home/jenkins/.sdkman/candidates/grails/5.0.1/bin/grails /usr/local/bin
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.