繁体   English   中英

Jenkins 在 PATH 中找不到二进制文件,并且似乎不是从 Linux 继承的

[英]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 值。 是不是我遗漏了什么,或者它是否像我感觉的一样令人困惑?

额外的东西:

  • 出于某种原因,将符号链接添加到 /usr/bin 也不起作用。
  • 我无法在 Jenkins 配置中将它们添加为“环境变量”,因为它似乎破坏了不需要额外二进制文件的管道作业。

任何人都可以帮忙吗?

我遇到了同样的问题,无法从 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM