Mah*_*esh 45 shell hudson root jenkins
我需要在Jenkins中以root身份而不是默认用户身份运行shell脚本.我需要改变什么?
我的sudoers文件是这样的:
# User privilege specification
root ALL=(ALL) ALL
igx ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
# Allow members of group sudo to execute any command
# (Note that later entries override this, so you might need to move
%sudo ALL=(ALL) ALL
#
#includedir /etc/sudoers.d
# Members of the admin group may gain root privileges
%admin ALL=(ALL) NOPASSWD:ALL
root ALL=(ALL) ALL
jenkins ALL=NOPASSWD: /var/lib/jenkins/workspace/ing00112/trunk/source/
jenkins ALL=(ALL) NOPASSWD:ALL
#Defaults:jenkins !requiretty
Run Code Online (Sandbox Code Playgroud)
Igo*_*bin 79
您必须使用sudo
以下命令运行脚本:
sudo /path/to/script
Run Code Online (Sandbox Code Playgroud)
但在你必须允许jenkins
在其中调整脚本之前/etc/sudoers
.
jenkins ALL = NOPASSWD: /path/to/script
Run Code Online (Sandbox Code Playgroud)
Lav*_*tel 15
@Igor Chubin的回答是100%正确的,但从未使用普通编辑器打开sudoer文件.总是使用visudo
只需键入
sudo visudo
Run Code Online (Sandbox Code Playgroud)
这将带您到/etc/sudoers
保存它将确保格式化没有错误.
如果你在sudoer文件中出错,你将失去sudo访问权限,所以总是使用 visudo
我确实意识到我在这个问题上已经迟到了,但为了参考起见,我以为我会把我的2c扔到这里:我使用Jenkins的SSH插件来完成这个(简单地配置一个localhost目标).通过这种方式,我可以直接在Jenkins中包含脚本(就像普通的"执行shell"步骤一样),而不是使用sudo来调用外部脚本.
归档时间: |
|
查看次数: |
84111 次 |
最近记录: |