簡體   English   中英

Jenkins中的Ansible Playbook錯誤

[英]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模塊”}

這是我運行jenkins項目的方式: 在此處輸入圖片說明

我以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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM