2016-10-18 3 views
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 

пьес правильный путь. в этом нет никаких проблем.

Что, кажется, отсутствует здесь?

+0

добавить 'файл $ PLAYBOOK' перед исполнением плейбука, чтобы быть на 100% уверенным, что файл находится на своем месте. –

+2

Возможно, разрешения для файлов? Дженкинс работает как корень? –

+1

Дженкинс обычно работает как пользователь Jenkins, а playbook находится в '/ root', поэтому разрешения, похоже, являются наиболее вероятной проблемой здесь. –

ответ

0

Вы правы Matt & Dave. Разрешения к папке были проблемой. Благодаря !

Смежные вопросы