Jenkins踩坑記錄:環境變量PATH沒有/usr/local/bin


好久沒用Jenkins就,今天寫了個接口和UI自動化測試框架,想在Jenkins上運行下,在運行安裝依賴插件時出現了一個錯誤
image
pip3.9: command not found,what?我沒裝pip?不可能呀,第一反應是在命令行運行下
image
沒問題呀,我本機安裝了pip了呀,頓時覺得事情沒有那么簡單
image
根據我多年經驗,我當時反應就是查看pip的環境變量

chenshiengdeMBP:~ chenshifeng$ which pip3.9
/usr/local/bin/pip3.9

然后打印Jenkins的環境變量,在Jenkins Execute shell是輸入echo $PATH命令打印環境變量為:

$ /bin/sh -xe /var/folders/p0/3_7fwrvx6n3ftpfd4wjb01300000gn/T/jenkins7083867037148431594.sh
+ echo /usr/bin:/bin:/usr/sbin:/sbin
/usr/bin:/bin:/usr/sbin:/sbin
Finished: SUCCESS

眼尖的我突然發現,Jenkins里的環境變量沒有/usr/local/bin路徑!!!
總算找到了原因,在網上看到,出於某種原因,Jenkins在連接到從屬服務器時不會將/usr /local/bin保留在PATH中。
OK ,雖然具體啥原因我也不曉得,那就想辦法解決吧。。
然后,我找到了以下3中方法,有其他方法的大神請評論區留言,感激不盡~
1、直接在Jenkins Execute shell 添加PATH="/usr/local/bin:${PATH}"命令
image
運行

$ /bin/sh -xe /var/folders/p0/3_7fwrvx6n3ftpfd4wjb01300000gn/T/jenkins2590228410742446096.sh
+ PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
+ echo /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Finished: SUCCESS

成功!
2.在節點配置上添加環境變量
Manage Jenkins→Configure System→Environment variables
image
3.在用戶變量文件夾.bash_profile 中添加命令

PATH="/usr/local/bin:${PATH}"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM