Интеграция Gitlab Jenkins Webhook

Итак, цель состояла в том, чтобы запустить сборку задания Jenkins после отправки в репозиторий Gitlab. Просто, верно?

После загрузки Gitlab подключил, настроил проект, все равно не повезло. Я получаю ошибку 403.

"DevOps: Jenkins & AWS Series, часть 5: Установка Gradle на Ubuntu 22.04
"DevOps: Jenkins & AWS Series, часть 5: Установка Gradle на Ubuntu 22.04
В этой статье блога мы проведем вас через процесс установки Gradle на Ubuntu 22.04, интеграции его с Jenkins и создания задания Gradle. Мы...
7
0
14 174
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

После некоторых проб и ошибок вот как я решил проблему:

Что я пробую:
Веб-хук не работает, когда у анонимного пользователя Jenkins нет разрешения на работу/сборку
Необходимо документировать настройку аутентификации GitLab -> Jenkins. Как устранить ошибку веб-перехватчика интеграции GitLab «Разрешение, которое вам нужно иметь (но не было) hudson.model.Hudson»?

Это шаги, которые я выполняю, чтобы исправить эту ошибку

"Hook executed successfully but returned HTTP 403... You are authenticated as anonymous Groups that you are in: Permission you need to have (but didn't) hudson.model.Hudson.Read...which is implied by hudson.security.Permission.GenericRead..."

Перейти к Jenkins>Управление Jenkins>конфигурация
перейдите в раздел Gitlab и убедитесь, что это так: Make sure Enable authentication for 'project' end-point is activated После настройки всего этого проверьте ваше соединение и убедитесь, что оно успешно.

В вашем проекте Jenkins перейдите Настройка > Триггеры сборки и выберите
Сборка при отправке изменения в Gitlab. URL-адрес веб-перехватчика Gitlab...
также не забудьте сгенерировать токен в дополнительных настройках.

remember to generate the token in advanced settings
Теперь в Gitlab заходим в свой Проект>Настройки>Интеграции вставьте URL-адрес, который вы получили в своем проекте Jenkins, а также токен, сгенерированный в разделе Gitlab Build Triggers, удалите проверку ssl Webhook conf

Теперь нажмите «Сохранить» и проверьте свой крючок
Test hook

вы должны получить сообщение об успехе 200 на Gitlab и на Jenkins триггерную работу:
GitlabSuccess hook
Jenkins initiated job
Если это не так, и вы все еще получаете 403, вот что вы можете сделать:

в Gitlab добавьте в свой проект пользователя Jenkins (того, с которого вы пытаетесь запустить веб-перехватчик). В этот раз должно получиться!!! gitlab members

Поиск проблемы

Если он все еще не работает, вы можете использовать другого помощника, чтобы добавить регистратор в Jenkins. перейти к Дженкинс > Управление Дженкинсом > Системный журнал

  • добавить новый регистратор. Введите имя регистратора
  • добавьте регистраторы в поле ввода. Начните вводить gitlab или webhooks,
    все, что связано с Gitlab или веб-хуками :)
    loggersloggers conf нажмите «Сохранить» и начните видеть, что происходит, когда вы нажмете на крючок из Gitlab. logs

Перейдите в раздел «Управление Jenkins» > «Настроить глобальную безопасность» и добавьте разрешение элемента сборки для анонимного пользователя.

Powerriegel 15.07.2019 08:50

Другие вопросы по теме