我檢查環境變量,可以看出,他們是爲了什麼詹金斯有不同的。我發起下管理員(用戶名)的終端和執行一個簡單的命令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中模擬它。 –