Jenkins Jenkins用戶執行權限


  

 

  在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

  成功

 


免責聲明!

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



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