# #jenkins #gitlab #jenkins-pipeline
Вопрос:
Я перешел по этой ссылке на учебник по gitlab, чтобы подключить свой сервер jenkins к Gitlab.
Все прошло хорошо, и я :
- создал личный токен доступа в моем профиле GitLab
- создал маркер API GitLab, используя маркер доступа my GitLab в конфигурации системы Дженкинса, как указано в руководстве
- создайте задание по фристайлу Дженкинса и выберите мое подключение к GitLab из выпадающего списка
- установите флажок «Сборка при переносе изменения в GitLab«.
- установите флажки Принятые события запроса на слияние и Закрытые события запроса на слияние
- сгенерировал секретный токен из вышеупомянутого проекта freestyle
- используйте секретный токен проекта freestyle jenkins для создания веб-крючка в настройках интеграции репозитория проекта GitLab
Пока там все шло нормально. Затем я добавил и push-код, в том числе jenkinsFile
на мой Гитлаб хранилище, и получить к Дженкинс web-интерфейс для просмотра состояния сборки, но производство показаны зеленым мол стройте успех, пока ничего не случилось, нет код был извлечен из Гитлаб (как показано на прилагаемом скриншоте вывод на консоль), таким образом не jenkinsFile
выполняется ни сообщение об ошибке, как показано.
Я попытался запустить сборку вручную из WebUI, но тот же результат, нет возможности запустить мой конвейер git push events
из GitLab
Я подумал, что, возможно, мне следует выбрать Git
в Source Code Management
разделе (я оставил его None
, так как в учебнике об этом не упоминается), но если я выберу Git в качестве SCM, я не смогу выбрать свои учетные данные маркера API GitLab, похоже, мы не можем использовать плагин GitLab (маркер API) и плагин Git для одного и того же проекта сборки.
ИТАК, как мне продолжить, чтобы иметь возможность создавать свой проект jenkins из GitLab с помощью файла Jenkins, используя токен API GitLab? Упускает ли учебник GitLab некоторые полезные шаги?
Ответ №1:
Хорошо, я думаю, что теперь понимаю проблему. Существует два набора учетных данных: GitLab API token
для доступа к веб-справочникам GitLab и отдельный набор для клонирования репозитория git во время сборки.
Поэтому мы не можем использовать GitLab API token
его для клонирования хранилища. Для этого вы должны использовать либо ключ SSH, либо комбинацию имени пользователя и пароля. Кроме того, этот раскрывающийся список является частью плагина git, а не плагина gitlab. Таким образом, плагин gitlab не может определить, какие учетные данные доступны в качестве учетных данных для этого раскрывающегося списка.