Jenkins 如何使用ansible运行sudoRPM命令
在我负责的角色中,我有一项任务,我正在尝试安装Jenkins rpm。rpm位于目标主机上的/tmp目录中。另外,我有权运行命令“sudo/bin/rpm-Uvh/tmp/jenkins-2.107.1.2-1.1.noarch.rpm”,当我试图直接在服务器上运行它时,该命令会起作用。但通过命令模块运行同一命令失败 任务:Jenkins 如何使用ansible运行sudoRPM命令,jenkins,ansible,ansible-2.x,rhel7,ansible-inventory,Jenkins,Ansible,Ansible 2.x,Rhel7,Ansible Inventory,在我负责的角色中,我有一项任务,我正在尝试安装Jenkins rpm。rpm位于目标主机上的/tmp目录中。另外,我有权运行命令“sudo/bin/rpm-Uvh/tmp/jenkins-2.107.1.2-1.1.noarch.rpm”,当我试图直接在服务器上运行它时,该命令会起作用。但通过命令模块运行同一命令失败 任务: - name: run the rpm command on masters command: sudo /bin/rpm -Uvh jenkins-2.107.1.2
- name: run the rpm command on masters
command: sudo /bin/rpm -Uvh jenkins-2.107.1.2-1.1.noarch.rpm
args:
chdir: /tmp
错误:
fatal: [xxxx. xxx.com]: FAILED! => {"changed": false, "cmd": "'sudo rpm' -Uvh 'jenkins-2.107.1.2-1.1.noarch.rpm'", "msg": "[Errno 2] No such file or directory", "rc": 2}
目标主机上的权限:
User XXXX may run the following commands on target_Host_Name:
(root) NOPASSWD: /usr/sbin/service jenkins stop, /usr/sbin/service jenkins start, /bin/rpm -Uvh jenkins*.noarch.rpm
您可以将
ansible
yum
模块与been:true
一起使用,而不是将命令与sudo
模块一起使用,例如:
- name: install jenkins rpm from a local file
yum:
name: /tmp/jenkins-2.107.1.2-1.1.noarch.rpm
state: present
become: true
注意:错误[Errno 2]没有明确的文件或目录
,文件/tmp/jenkins-2.107.1.2-1.1.noarch.rpm
不存在。在尝试安装rpm
之前,需要确保该文件存在
有关ansible
中权限提升的更多信息,请参阅: