Мое заявление

Я пытаюсь создать задание Jenkins для реализации моего конвейера CI / CD. Я использую репозиторий SVN для управления версиями. Когда я перехожу в этот репозиторий, настройка задания в Jenkins должна запускаться и вызывать один YML-файл Ansible Playbook. Я настраиваю все этапы своего конвейера с помощью Ansible playbook.

Мой текущий подход

Я создал один репозиторий svn и настроил обработчик post-commit в каталоге хуков. И я создал сборник пьес на Ansible. Я строю всю свою стадию конвейера, используя этот сборник пьес Ansible.

Когда я запускаю Ansible playbook вручную, он успешно работает. Но когда я создаю одну работу jenkins и вызываю ее с помощью job, в разделе Ansible отображается «Red Crossmark».

Действия, которые я сделал с Дженкинсом

  1. Создан новый проект свободного стиля jenkins
  2. Отредактировал описание проекта
  3. Выбрал «Subversion» в управлении исходным кодом и добавил URL-адрес репозитория SVN и учетные данные.
  4. Проверено "Опрос SCM" в разделе "Триггеры сборки".
  5. Выбрал «Invoke Ansible Playbook» в разделе «Сборка» и добавил URL-адрес плейбука.

На следующем изображении показан доступный для вызова раздел,

Обновить

NB: с установленным флажком sudo

enter image description here

Ошибка

Когда я пытаюсь подать заявку, это ничего не показывает. Если я сохраню и снова возьму с панели управления, он покажет «Неудачный». Как на следующем снимке экрана,

enter image description here

Ошибка вывода обновленной консоли

TASK [Gathering Facts] *********************************************************
fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "sudo: a password is required\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
to retry, use: --limit @/home/spacestudy/pipelinesite.retry

 PLAY RECAP *********************************************************************
 localhost                  : ok=0    changed=0    unreachable=0    failed=1  

Обновлена ​​попытка снятия флажка sudo

 TASK [pipelinerole : login into dockerhub] *************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Error connecting: Error while fetching server API version: ('Connection aborted.', error(13, 'Permission denied'))"}
to retry, use: --limit @/home/spacestudy/pipelinesite.retry

Подход к прямому тестированию, выполняемый командой оболочки на EC2

NB:

Когда я запускаю непосредственно команду оболочки " $ ansible-playbook " на моем EC2, возникает такая же ошибка. Но когда я запускаю команду оболочки « $ sudo ansible-playbook », ошибка не возникает. Из-за этого здесь я также поставил галочку в поле «sudo». Но я становлюсь совсем другим.

Как я могу устранить проблемы, связанные с невыполнением работы, и почему я не могу подать заявку?

4
Jacob 1 Ноя 2018 в 11:16

1 ответ

Лучший ответ

Может проблема в разрешениях на репозиторий SVN? Требуется ли аутентификация?

Ошибки: Connection aborted.', error(13, 'Permission denied и sudo: a password is required. Согласно снимку экрана, вы не указываете никаких учетных данных пользователя. Когда ваша машина сборки обращается к серверу и репозиторию SVN, кажется, что она должна предоставить имя пользователя и пароль. Если вы теперь указываете учетные данные, но по-прежнему видите ошибки, убедитесь, что они верны и что у учетной записи пользователя есть разрешения на чтение в репозитории.

1
bahrep 10 Ноя 2018 в 13:45