【发布时间】:2016-05-14 23:08:59
【问题描述】:
我检查了环境变量,发现它们与 Jenkins 的不同。我在admin(用户名)下启动了终端并执行了一个简单的命令id -un; echo $PATH
~ admin$ id -un
admin
~ admin$ echo $PATH
/Users/admin/.rvm/gems/ruby-2.2.3/bin:/Users/admin/.rvm/gems/ruby-2.2.3@global/bin:/Users/admin/.rvm/rubies/ruby-2.2.3/bin:/Users/admin/.rvm/bin:/Users/admin/.gem/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/admin/.gem/bin:/Users/admin/.gem/bin
当我从 shell 脚本运行相同的命令作为 Jenkins 构建的一部分时,我可以看到不同的输出:
+ id -un
admin
+ echo /usr/bin:/bin:/usr/sbin:/sbin
/usr/bin:/bin:/usr/sbin:/sbin
我的 ~/.bach_profile 似乎被 Jenkins 忽略了,或者它可能是在 Jenkins 加载后执行的。
我该如何解决这个问题?
ps:Jenkins 作为守护进程在 admin 用户下启动。
【问题讨论】:
标签: bash jenkins path environment-variables