Jenkins Subversion错误 - E200015:没有凭据可以尝试.验证失败

mik*_*enz 28 svn hudson credentials jenkins

我已经将jenkins的Subversion插件更新到2.2版

现在我得到了关于repos的错误,这是在升级之后第一次构建的repos以及repos,其中外部的东西发生了变化.它适用于所有其他版本的预期.

我试图添加其他凭据,但这没有帮助.

现在我希望有人知道还有什么可以尝试解决这个问题.

错误:

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
Run Code Online (Sandbox Code Playgroud)

mik*_*enz 22

在对官方错误报告发表评论后,我们能够解决这个问题.

所以为了让它工作,你必须更新到最新的2.3-snaptshot的subversion插件,可以在这里找到:

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

(下载.hpi文件并将其安装在您的jenkins上)

  1. 之后你必须修复你的构建.我已经写了一个关于如何在这里做到这一点的小教程.
  2. 打开构建配置
  3. 向下滚动到源代码管理部分
  4. 单击"添加其他凭据..."按钮
  5. 将svn服务器的特定标识符定义为领域 - >(<prot://ip:port > Company Subversion Repository)
    • 如果它应该适用于不同的svn,你需要使用这个服务器的领域
    • 通过命令行检查此服务器上的仓库 - > svn --username {username} --password {password} checkout prot://ip:port/svn/repo< - 您可以在开始结账后取消它
    • 使用此cmd - >阅读Mac上可用的所有领域 find ~/.subversion/auth/svn.simple/ -type f -exec cat {} + | grep -A 2 realmstring
      • 还有另一个选项来获得realmstring.在以前没有连接到svn的电脑上,在电子设备中执行以下操作:"svn info prot:// ip:port/pathtorepo" - >这将输出类似"Authentication realm:Company Subversion Repository"的内容
  6. 选择凭据 - > buildmaster/****** (<prot://ip:port> Company Subversion Repository)

注意:如果您使用svn + ssh,您的领域将看起来像"svn + ssh:// server-name"而没有双引号.不需要尖括号,端口或域名.

  1. 保存并快乐!

  • 请注意,我需要输入的领域是"<https:// [ServerName]:[port]> VisualSVN Server" (2认同)