[英]Ansible Playbook error in Jenkins
我寫了一個簡單的劇本來安裝httpd。 這是我的劇本:
---
- name: install httpd
hosts: localhost
become: root
vars:
inputvariable: "{{lookup('file','/home/ec2-user/inputfile.json')}}"
tasks:
- yum:
name: "{{item.packagename}}"
state: "{{item.state}}"
with_items: '{{ inputvariable.resources}}'
這是我的輸入文件:
{
"resources":[
{
"packagename": "httpd",
"state": "present"
}
]
}
問題是,當我從控制台使用以下命令執行劇本時,它會成功執行。
ansible-playbook -vvv -C -e "ansible_python_interpreter=/usr/bin/python" apacheplaybook.yml
但是在詹金斯執行時,它顯示以下錯誤:
“ msg”:“此模塊需要rpm的python2綁定。此模塊需要python2 yum模塊”}
我以ec2-user身份運行Jenkins,並且將/var/lib/jenkins
和/var/log/jenkins
和/var/cache/jenkins
為ec2-user和wheel組。 Jenkins存在問題,因為從控制台通過此命令成功執行了它。
jenkins是否有可能無法訪問python2綁定,因為它的默認設置為python3,因此yum任務無法執行。
如果您切換到:
- name: install httpd
package: pkg={{item}} state=installed
with_items:
- packagenamehere
也許您可以在cli上訪問python2,但不能在jenkins中訪問(我假設您是在同一服務器jenkins上的cli上執行)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.