从 Jenkins 运行 ansible 时缺少 sudo 密码错误

时间:2021-05-12 19:09:04

标签: jenkins ansible

命令是jenkins运行yml文件的命令

devops18@devops-vbox:/usr/share/ansible/roles/webrole$ /usr/bin/ansible-playbook /usr/share/ansible/roles/webrole/web.yml -i /usr/share/ansible/ansiserver -f 5

PLAY [ubuntuclient] **************************************************************************************************************************

TASK [Gathering Facts] ***********************************************************************************************************************
ok: [ubuntuclient]

TASK [webrole : Install JDK on Ubuntu] *******************************************************************************************************
fatal: [ubuntuclient]: FAILED! => {"msg": "Missing sudo password"}

PLAY RECAP ***********************************************************************************************************************************
ubuntuclient               : ok=1    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0   

devops18@devops-vbox:/usr/share/ansible/roles/webrole$ 

请建议我需要在 jenkins 作业配置中进行的任何更改以使其正常工作

1 个答案:

答案 0 :(得分:1)

调用 playbook 时需要用 -kK 提示输入密码:

/usr/bin/ansible-playbook /usr/share/ansible/roles/webrole/web.yml -i /usr/share/ansible/ansiserver -f 5 -kK

或在 --extra-vars 中添加密码(不推荐)

/usr/bin/ansible-playbook /usr/share/ansible/roles/webrole/web.yml -i /usr/share/ansible/ansiserver --extra-vars "ansible_sudo_pass=xxxxxx" -f 5 

或者您可以编辑/etc/sudoers

ubuntuclient        ALL=(ALL)       NOPASSWD: ALL