最近在新公司配置Jenkins做持續集成的事情,在執行shell的時候提示jenkins沒有權限。在解決這個問題的過程中,總結了幾個辦法。和大家分享一下。
1.Jenkins沒有權限的原因是什么
一切問題都要找到根本原因,只要你找到了問題的原因相信也就找到了解決辦法。Jenkins沒有權限的原因是:
執行腳本的時候jenkins使用的用戶沒有對應文件的權限。
那jenkins使用的是哪個用戶呢?打開配置文件看一下:

找到 JENKINS_USER,然后會發現執行的默認用戶是jenkins。

所以問題的原因就是jenkins用戶沒有文件的權限。
2.解決問題的幾種方式
1.不建議的方式 chmod 777
在網上看到有人使用這種暴力直接的解決方式,直接給相應的文件改成777的屬性,這樣任何用戶都能操作了。一般使用這種解決方案的人都是沒有意識到問題的根本原因。
2.讓jenkins以root或對應用戶執行
這里以修改jenkins用戶為root作為示例:
修改Jenkins配置文件
打開配置文件

修改$JENKINS_USER
JENKINS_USER="root"
修改Jenkins相關文件夾用戶權限

重啟Jenkins(若是其他方式安裝的jenkins則重啟方式略不同
service jenkins restart
3.給jenkins用戶添加相應文件的權限
chown -R jenkins <path>
關於jenkins執行權限的問題就和大家分享到這里了,歡迎點贊,評論,轉發。
作者:魏永_Owen_Wei
鏈接:https://www.jianshu.com/p/fa546f723724
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。