我检查环境变量,可以看出,他们是为了什么詹金斯有不同的。我发起下管理员(用户名)的终端和执行一个简单的命令id -un; echo $PATH
为什么我的詹金斯的环境不一样,我的本地用户环境
~ admin$ id -un
admin
~ admin$ echo $PATH
/Users/admin/.rvm/gems/ruby-2.2.3/bin:/Users/admin/.rvm/gems/[email protected]/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脚本的相同命令詹金斯构建的一部分,我可以看到不同的输出:
+ id -un
admin
+ echo /usr/bin:/bin:/usr/sbin:/sbin
/usr/bin:/bin:/usr/sbin:/sbin
看来我有〜/ .bach_profile这是由詹金斯忽略或可能詹金斯已经加载后执行。
我该如何解决这个问题?
PS:詹金斯在管理用户作为守护程序启动。
我使用EnvInject了很多,但它只是不方便,每次构建配置。我也尝试过通过'Manage Jenkins-> Configure System-> Environment Variables'在全局配置它们,但似乎它不起作用,在构建过程中输入的环境变量对我的环境变量没有影响。我找到的唯一方法是'/ usr/local/opt/jenkins/...'中的自定义plist,但这确实很不方便。而且,当我安装新软件时,我必须知道配置,并在Jenkins中模拟它。 –