Подтвердить что ты не робот

Ошибка Subversion Jenkins - E200015: учетных данных не требуется. Ошибка аутентификации

Я обновил плагин Subversion от jenkins до версии 2.2

Теперь я получаю следующую ошибку для репозиториев, которые строят в первый раз после обновления и для репозиториев, когда что-то внутри внешнего изменилось. Он работает для всех остальных построек, как ожидалось.

Я попытался добавить дополнительные учетные данные, но это не помогло.

Теперь я надеюсь, что у кого-то есть идея, что еще можно попытаться исправить эту проблему аннулирования.

Ошибка:

hudson.util.IOException2: revision check failed on http://XXX/svn/XXX/Website/Config/trunk
    at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:189)
    at hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.java:132)
    at hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:738)
    at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:899)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1411)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:671)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:580)
    at hudson.model.Run.execute(Run.java:1670)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:231)
Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: OPTIONS /svn/XXX/Website/Config/trunk failed
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:384)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:373)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:361)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:707)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:627)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:102)
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1020)
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:180)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.java:118)
    at org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.java:148)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.createRepositoryFor(SvnNgRepositoryAccess.java:45)
    at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteLog.run(SvnRemoteLog.java:160)
    at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteLog.run(SvnRemoteLog.java:35)
    at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)
    at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1238)
    at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
    at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:967)
    at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:872)
    at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:177)
    ... 11 more
Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: No credential to try. Authentication failed
    at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:37)
    at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:32)
    at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getFirstAuthentication(DefaultSVNAuthenticationManager.java:185)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:694)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:382)
    ... 29 more
4b9b3361

Ответ 1

Хорошо после многих комментариев об официальной ошибке report мы смогли решить эту проблему.

Итак, чтобы заставить его работать, вам нужно обновить до последней версии 2.3-snaptshot плагина subversion, которые можно найти здесь:

https://jenkins.ci.cloudbees.com/job/plugins/job/subversion-plugin/

(Загрузите файл .hpi и установите его на своих дженкинсах)

  • После этого вы должны исправить свою сборку. Я написал небольшой учебник о том, как вы можете сделать это здесь.
  • открыть конфигурацию сборки
  • прокрутите вниз до раздела "Управление исходным кодом"
  • нажмите кнопку "Добавить дополнительные учетные данные..."
  • определить как область конкретный идентификатор для нашего svn-сервера → (<prot://ip:port > Company Subversion Repository)
    • Если он должен работать для другого svn, вам нужно использовать область этого сервера.
    • проверить репо на этом сервере через командную строку → svn --username {username} --password {password} checkout prot://ip:port/svn/repo < - вы можете отменить это после запуска проверки
    • прочитайте все сферы, доступные на вашем mac с помощью этого cmd → find ~/.subversion/auth/svn.simple/ -type f -exec cat {} + | grep -A 2 realmstring
      • есть еще один вариант, чтобы получить realmstring. на ПК, который раньше не был связан с svn, сделайте следующее в терминологии: "svn info prot://ip: port/pathtorepo" → это выведет что-то вроде "Область аутентификации: репозиторий компании Subversion"
  • выберите учетные данные → buildmaster/****** (<prot://ip:port> Company Subversion Repository)

ПРИМЕЧАНИЕ. Если вы используете svn + ssh, ваша область будет выглядеть как "svn + ssh://server-name" без двойных кавычек. Не требуется никаких заостренных скобок, имени порта или области.

  1. сохранить и быть счастливым!

Ответ 2

У меня была такая же ошибка. Поскольку svn repo защищен паролем. когда я добавляю учетные данные и использую их для проверки svn, он работает нормально.

enter image description here

Ответ 3

Я получал точно такое же исключение, и это было из-за использования параметра build в пути репозитория, например:

http://reposerver/svn/project/${SVN_BRANCH}

даже в случае, если ${SVN_BRANCH} был правильно установлен в 'trunk' Он не работал

когда я изменил путь к репозиторию:

http://reposerver/svn/project/trunk

все отлично работает сейчас

Эта проблема возникла после обновления svn-плагина с 1.54 до 2.2, поэтому похоже, что в новой версии плагина svn jenkins есть некоторая ошибка

Ответ 4

Я хотел бы подчеркнуть точку в ответе mikepenz ': В текстовом поле Realm вашей конфигурации заданий (после нажатия Add additional credentials...) вы не вводите только свою область SVN, а только ваше царство и полный URL вашего внешнего репо. Это сработало.

Итак, эта часть конфигурации вашей работы выглядит следующим образом:

enter image description here

Edit

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

Я выполнил рекомендацию здесь (в которой также упоминаются проблемы безопасности с описанным выше подходом) и используются модули в Дженкинсе для моих внешних репозиториев.

Так моя конфигурация модуля ищет внешнее репо:

jenkins external repo как модуль

Ответ 5

Когда вы обновляете плагин subversion, вы должны сделать одно из приведенных ниже.

  • Очистка рабочего пространства jenkins, потому что metainfo связан со старой версией subversion

или

  • Обновление рабочего пространства вручную, оно предлагает вам обновить версию клиента. Нажмите "Да"