为什么shell和jenkins显示的环境变量不同?

时间:2015-10-30 03:01:21

标签: jenkins

我发现shell和jenkins显示的环境变量是不同的。当我通过echo看到$ PATH时,它显示如下;

# cat /etc/passwd | grep jenkins
jenkins:x:998:997:Jenkins Continuous Integration Server:/var/lib/jenkins:/bin/bash
# su jenkins
bash-4.2$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

然而,当我执行" echo $ PATH"在Jenkins by(Build - > Execute shell)上,控制台日志显示如下;

[workspace] $ /bin/sh -xe /tmp/hudson6923847933544830986.sh
+ echo /sbin:/usr/sbin:/bin:/usr/bin
/sbin:/usr/sbin:/bin:/usr/bin
Finished: SUCCESS

不仅$ PATH而且许多其他变量也不同,但$ PATH对执行命令很重要,我不明白为什么它们不一样。你有什么想法吗?

1 个答案:

答案 0 :(得分:0)

  • 也许您的user of shelluser who is building the job不一样。 在shell和jenkins中运行$ whoami命令(Build - > Execute shell)。
  • 您还可以在Build -> Execute shell部分或jenkins -> Manage Jenkins -> configure System -> Global properties部分设置PATH变量。检查Environment variables然后Name: PATHvalue: $PATH:/usr/local/sbin