Jenkins 如何使用ansible运行sudoRPM命令

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

在我负责的角色中,我有一项任务,我正在尝试安装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-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
中权限提升的更多信息,请参阅: