Итак, цель состояла в том, чтобы запустить сборку задания Jenkins после отправки в репозиторий Gitlab. Просто, верно?
После загрузки Gitlab подключил, настроил проект, все равно не повезло. Я получаю ошибку 403.
После некоторых проб и ошибок вот как я решил проблему:
Что я пробую:
Веб-хук не работает, когда у анонимного пользователя 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 и убедитесь, что это так:
После настройки всего этого проверьте ваше соединение и убедитесь, что оно успешно.
В вашем проекте Jenkins перейдите Настройка > Триггеры сборки и выберите
Сборка при отправке изменения в Gitlab. URL-адрес веб-перехватчика Gitlab...
также не забудьте сгенерировать токен в дополнительных настройках.
Теперь в Gitlab заходим в свой Проект>Настройки>Интеграции
вставьте URL-адрес, который вы получили в своем проекте Jenkins, а также токен, сгенерированный в разделе Gitlab Build Triggers, удалите проверку ssl
Теперь нажмите «Сохранить» и проверьте свой крючок
вы должны получить сообщение об успехе 200 на Gitlab и на Jenkins триггерную работу:
Если это не так, и вы все еще получаете 403, вот что вы можете сделать:
в Gitlab добавьте в свой проект пользователя Jenkins (того, с которого вы пытаетесь запустить веб-перехватчик). В этот раз должно получиться!!!
Поиск проблемы
Если он все еще не работает, вы можете использовать другого помощника, чтобы добавить регистратор в Jenkins. перейти к Дженкинс > Управление Дженкинсом > Системный журнал
Перейдите в раздел «Управление Jenkins» > «Настроить глобальную безопасность» и добавьте разрешение элемента сборки для анонимного пользователя.