0
我正在使用Jenkins採取一些參數,生成一個ansible-playbook命令並運行它。我的Jenkins服務器也是我的Ansible服務器。通過Jenkins運行Ansible劇本
我的殼說::
echo $ESXi_IP
echo $VM_NAME
echo $NIC1_MAC
echo $NIC2_MAC
echo $NIC3_MAC
echo $NIC4_MAC
echo $ESXi_HOSTNAME
echo $PLAYBOOK
ansible-playbook $PLAYBOOK --extra-vars "esxi_ip=$ESXi_IP vm_name=$VM_NAME nic1_mac=$NIC1_MAC nic2_mac=$NIC2_MAC nic3_mac=$NIC3_MAC nic4_mac=$NIC4_MAC esxi_hostname=$ESXi_HOSTNAME"
當我運行的作業,輸出爲::
+ ansible-playbook /root/ansible/sc-ece.yaml --extra-vars 'esxi_ip=5.232.66.49 vm_name=JenkinsTest nic1_mac=00:50:C0:A8:01:02 nic2_mac=00:50:0A:A9:37:A5 nic3_mac=00:50:0A:FF:FE:4C nic4_mac=00:50:AC:10:01:65 esxi_hostname=tmolab13-14iamesxi4'
ERROR! the playbook: /root/ansible/sc-ece.yaml could not be found
的劇本路徑是正確的。根本沒有問題。
這裏似乎缺少什麼?
在劇本執行前添加'file $ PLAYBOOK'以100%確定該文件已到位。 –
也許文件權限?詹金斯是以root身份運行的嗎? –
Jenkins通常以Jenkins用戶身份運行,並且該劇本位於'/ root'中,因此權限在這裏似乎是最可能出現的問題。 –