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

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

0 голосов
/ 15 апреля 2019

Таким образом, цель состояла в том, чтобы вызвать сборку на задании Дженкинса после перехода на Gitlab Repo, просто верно?

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

1 Ответ

0 голосов
/ 15 апреля 2019

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

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

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

"Хук успешно выполнен, но вернул HTTP 403 ... Вы аутентифицированы как анонимные группы, в которых вы находитесь: Разрешениевам нужно иметь (но не) hudson.model.Hudson.Read ... что подразумевается hudson.security.Permission.GenericRead ... "

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

В вашем проекте Jenkins перейдите Configure> Build Triggers и выберите
Build, когда изменение передается в Gitlab.Gitlab webhook URL ...
также убедитесь, что сгенерирован токен в дополнительных настройках

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

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

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

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

Устранение неполадок

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

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