0
Я использую Jenkins для выполнения ряда параметров, создания команды с незаметным воспроизведением и запуска ее. Мой сервер Jenkins также является моим сервером Ansible.Запуск Ansible playbook через Jenkins
Моя оболочка говорит ::
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
пьес правильный путь. в этом нет никаких проблем.
Что, кажется, отсутствует здесь?
добавить 'файл $ PLAYBOOK' перед исполнением плейбука, чтобы быть на 100% уверенным, что файл находится на своем месте. –
Возможно, разрешения для файлов? Дженкинс работает как корень? –
Дженкинс обычно работает как пользователь Jenkins, а playbook находится в '/ root', поэтому разрешения, похоже, являются наиболее вероятной проблемой здесь. –