Jenkins Jenkins用戶執行權限
阿新 • • 發佈:2017-09-15
虛擬 doc passwd highlight har oot 文檔 docs .com
在jenkins所在服務器裏安裝了awscli,一開始直接
apt install awscli
然而裝上的版本很低,查看官方文檔,發現需要用 pip安裝(請先安裝pip):pip install awscli
結果發現必須用root用戶安裝,那就換root ,再pip install awscli (事實上也可以不root,但這個方法不能為jenkins這種虛擬用戶裝, http://docs.aws.amazon.com/zh_cn/cli/latest/userguide/awscli-install-bundle.html#install-bundle-user)
換成root用戶安裝成功,然而切換到jenkins任務流程或pipline中執行 shell,本文提到的問題出現:
ImportError: No module named dateutil.parser
經試驗:
sudo -i aws help
在root下並不會報錯,基本確定是權限問題。很苦惱,不用root裝不上,用root沒權限
突然想起在jenkins裏執行docker也有這個問題,是通過將jenkins用戶加入docker組解決的。
但是awscli並沒有用戶組
後來經過搜索,發現可以采用這個方法:
先將所登錄的用戶加入sudoer,我這裏用的是aws裏的Ubuntu鏡像,用戶是Ubuntu
vim /etc/sudoers 加入:jenkins ALL = NOPASSWD: /bin/sh, /path/to/script
然後sudo pip install awscli
成功,測試:
su jenkins
aws help
成功
Jenkins Jenkins用戶執行權限