Дженкинс административно отключил пользователя в LDAP, что привело к ложноотрицательным результатам

Мы обновили/переустановили Jenkins нашей компании и столкнулись с ложноотрицательными результатами, вызванными LDAP + пользователем с ограниченными правами администратора. Сначала я думал, что это вызвано нашими почтовыми уведомлениями и ldap не может получить электронную почту этого пользователя, но я отключил все уведомления, и проблема все еще возникает.

Каждый раз, когда SVN запускает сборку и пользователь с административными правами находится в списке коммитов, мы получаем ложноотрицательный результат. Мы получаем визуальные ошибки, когда пользователь находится внутри списка изменений.

Лог прямо перед ошибкой:

...
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  14:28 min
[INFO] Finished at: 2024-04-16T09:34:13+02:00
...

с последующим:

FATAL: org.springframework.security.authentication.DisabledException: The user "userxyz" is administratively disabled.
org.springframework.security.authentication.DisabledException: The user "userxyz" is administratively disabled.
    at hudson.security.UserAttributesHelper.checkIfUserEnabled(UserAttributesHelper.java:92)
    at hudson.security.LDAPSecurityRealm$LDAPUserDetailsService.loadUserByUsername(LDAPSecurityRealm.java:1319)
    at hudson.security.LDAPSecurityRealm$DelegateLDAPUserDetailsService.loadUserByUsername(LDAPSecurityRealm.java:1232)
    at hudson.security.LDAPSecurityRealm.loadUserByUsername2(LDAPSecurityRealm.java:765)
    at jenkins.security.UserDetailsCache$Retriever.call(UserDetailsCache.java:170)
    at jenkins.security.UserDetailsCache$Retriever.call(UserDetailsCache.java:159)
    at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4955)
    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3589)
    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2328)
    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2187)
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2081)
Caused: com.google.common.util.concurrent.UncheckedExecutionException
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2087)
    at com.google.common.cache.LocalCache.get(LocalCache.java:4036)
    at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4950)
    at jenkins.security.UserDetailsCache.loadUserByUsername(UserDetailsCache.java:127)
    at hudson.model.User$UserIDCanonicalIdResolver.resolveCanonicalId(User.java:1262)
    at hudson.model.User$CanonicalIdResolver.resolve(User.java:1203)
    at hudson.model.User.get(User.java:530)
    at hudson.model.User.getOrCreateByIdOrFullName(User.java:593)
    at hudson.model.User.get(User.java:574)
    at hudson.scm.SubversionChangeLogSet$LogEntry.setUser(SubversionChangeLogSet.java:305)
    at hudson.scm.SubversionChangeLogParser.parse(SubversionChangeLogParser.java:92)
    at hudson.scm.SubversionChangeLogParser.parse(SubversionChangeLogParser.java:43)
    at hudson.scm.ChangeLogParser.parse(ChangeLogParser.java:57)
    at hudson.model.AbstractBuild.calcChangeSet(AbstractBuild.java:947)
    at hudson.model.AbstractBuild.getChangeSet(AbstractBuild.java:915)
    at hudson.model.AbstractBuild.getChangeSets(AbstractBuild.java:929)
    at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:136)
    at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:353)
    at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:93)
    at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:342)
    at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:133)
    at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:353)
    at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:93)
    at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:342)
    at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:133)
    at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:353)
    at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:93)
    at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:342)
    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:715)
    at hudson.model.Run.execute(Run.java:1918)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
    at hudson.model.ResourceController.execute(ResourceController.java:101)
    at hudson.model.Executor.run(Executor.java:442)

Я пытался:

  • отключил все уведомления (электронная почта, irc, вебхук)
  • обновил все плагины
  • проверил настройки LDAP (так же, как и перед переустановкой)

Есть ли способ игнорировать этого пользователя? Проблема вызвана LDAP, SVN или их комбинацией?

Редактировать:

Нашел старую запись, посвященную той же проблеме Jenkins Jira

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

Ответы 1

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

Сейчас я отвечаю на свой вопрос, но, возможно, мое решение кому-то поможет. Короче говоря, пропатчите плагин самостоятельно. Плагин GitHub SVN

try-catch в SubversionChangeLogSet (строка 305) и SubversionChangeLogParser (строка 92)

Шаги

  1. Посетите GitHub плагина Subversion Ссылка
  2. Клонировать проект
  3. Открытый проект
  4. добавьте try-catch в SubversionChangeLogSet (л. 305) и SubversionChangeLogParser (л. 92)
  5. создать .hpi
  6. установить плагин через [YOUR_JENKINS_URL]/manage/pluginManager/advanced
  7. Развертывание + безопасный перезапуск

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