В доступе отказано Сообщение в Jenkins Free style Работа для вызова ansible-playbook - PullRequest
0 голосов
/ 01 ноября 2018

Моя заявка

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

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

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

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

Шаги, которые я сделал на Дженкинс

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

На следующем рисунке показана секция invoke,

Обновление

Примечание: С установленным флажком sudo

enter image description here

Ошибка

Когда я пытаюсь подать заявку, ничего не отображается. Если я сохраню и снова возьму с приборной панели, он показывает "Failed". Как на следующем скриншоте,

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

Подход прямого теста по команде Shell на EC2

Примечание:

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

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

1 Ответ

0 голосов
/ 10 ноября 2018

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...