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