Вход в Jenkins с использованием аутентификации GitHub не был администратором
Я настраивал механизм аутентификации для нашей организации jenkins, у которой не было механизма безопасности, "ananoumos" может делать что угодно, удалять задания, строить и т. Д. Я сделал
Установите плагин github-oauth jenkins
В моем https://github/..com/ a. OAuthApplication -> создал новое приложение б. предоставил все детали, главным был обратный вызов авторизации -> http://myserver.example.com:8080/securityRealm/finishLogin myserver.example.com = мой сервер jenkin
Хорошо
Он создал "ClientId" и "Client Secrete" -> отметил вниз
- Перейдите в Jenkins и настройте "Глобальную безопасность: как упомянуто здесь"
Когда я нажал "Сохранить" в настройках безопасности Jenkin, он выдал большую страшную ошибку
STDERR: hudson.security.AccessDeniedException2: анонимному не хватает разрешения "Полное / Администрирование" в hudson.security.ACL.checkPermission(ACL.java:57)
а затем, когда я нажал на домашнюю страницу jekins, он попытался перенаправить меня на мой org github, но не смог с "404"
Выход в разделе "Ответ"
1 ответ
Вдохновлен Дженкинсом: доступ запрещен после включения глобальной безопасности. Как вернуть?:
Поскольку в предыдущем выпуске они не использовали плагин Github Auth, в моем jenkings config.xml были другие теги, вот что я сделал:
- в моем сервере jenkin -> JENKIN_HOME/config.xml
Сначала под
<authorizationStrategy>
-> установить истину для нижеauthenticatedUserReadPermission
useRepositoryPermissions
authenticatedUserCreateJobPermission
allowAnonymousReadPermission
allowAnonymousJobStatusPermission
Тогда я, по крайней мере, мог просматривать задания Jekins как "Анонимный" пользователь
Затем я создал новый Auth in, My Org GitHub -> Мой профиль -> Настройки -> "Приложение OAuth" -> Приложение для разработчиков и предоставил аналогичные входные данные, в основном URL-адрес обратного вызова авторизации: http://myjenkinsserver:8080/securityRealm/finishLogin
Создан новый идентификатор клиента и секретный
- Модифицированный jekins config.xml
- перезапустил Дженкинс
- попытался войти в систему Jenkins, на этот раз он был перенаправлен на мою организацию GitHub и спрашивает, что Jenkins хочет выполнить Authentical, я "получил", но получил новую ошибку
org.kohsuke.github.HttpException: сервер вернул код ответа HTTP: -1, сообщение: 'null' для URL: https://ghe.acme.com/api/v3/user
- Обнаружено, что этот API не является правильным,
- Модифицированный jenkins config.xml
<githubApiUri>https://github.<myorg>.com/api/v3</githubApiUri>
и на этот раз это сработало:)