2017-08-11 39 views
3

試圖從我的Jenkins執行器執行sudo命令,我得到標題錯誤。Jenkins運行tomcat8 sudo:沒有tty存在,也沒有用NOPASSWD指定askpass程序

在主機(執行程序)上,我已經配置了sudoers文件以包含此行:jenkins ALL=(ALL) NOPASSWD: ALL最後。

我試圖運行的命令是sudo service tomcat8 restart

檢查可用的答案我得到了我需要的所有東西,或者我錯過了什麼?

+0

https://stackoverflow.com/a/29685946/947526 –

+0

須藤:1次不正確的密碼嘗試 – Jacob

+0

有可能是與你的sudo設置的問題。你用visudo嗎?其他用戶的設置是否一樣?你可以嘗試手動嗎? –

回答

0

可能有一種解決方法:由於Barmar在對帖子「Use sudo without password INSIDE a script」的評論中指出,可以允許由sudoer執行專用腳本。假設你有一個線

jenkins ALL=(ALL) NOPASSWD:/path/to/restart.sh 

這意味着詹金斯可以做須藤/path/to/restart.sh沒有密碼。

如果您現在將您的命令service tomcat8 restart寫入restart.sh,則應該執行sudo /path/to/restart.sh的工作。

0

嘗試關閉jenkins用戶的requiretty。我會建議在你的sudoers文件中使用command aliases

Cmnd_Alias RESTART_TOMCAT = /sbin/service tomcat8 *, /etc/init.d/tomcat8 * 

Defaults:jenkins !requiretty 

jenkins ALL=(root) NOPASSWD: RESTART_TOMCAT 
相關問題