Запуск Ansible playbook через Jenkins

#jenkins #ansible

#дженкинс #ansible

Вопрос:

Я использую Jenkins для получения ряда параметров, генерации команды ansible-playbook и ее запуска. Мой сервер 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
  

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

Чего , по — видимому , здесь не хватает ?

Комментарии:

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

2. Возможно, права доступа к файлам? Работает ли Jenkins от имени root?

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

Ответ №1:

Вы правы, Мэтт и Дэйв. Права доступа к папке были проблемой. Спасибо!