Jenkins Subversion错误-E200015:无凭据可尝试.验证失败 [英] Jenkins Subversion Error - E200015: No credential to try. Authentication failed

查看:183
本文介绍了Jenkins Subversion错误-E200015:无凭据可尝试.验证失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I've updated the Subversion plugin of jenkins to version 2.2

现在,对于升级后首次构建的存储库以及外部外部的存储库发生更改的存储库,我遇到以下错误.它可以按预期适用于所有其他构建.

Now i get following error for repos which build the first time after the upgrade and for repos where something within an external changed. It works for all other builds as expected.

我尝试添加其他凭据,但这无济于事.

I tried to add additional credentials but this did not help.

现在,我希望有人知道可以解决此问题的其他方法.

Now i hope someone has an idea what else can be tried to fix this annyoing issue.

错误:

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

推荐答案

好吧,对官方bug的评论很多之后

Ok after many comments on the official bug report we were able to solve this issue.

因此,要使其正常工作,您必须更新到最新的Subversion插件2.3快照, 可以在这里找到:

So to get it working you have to update to the newest 2.3-snaptshot of the subversion plugin, which can be found here:

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

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

(Download the .hpi file and install it on your jenkins)

  1. 之后,您必须修复您的构建.我已经写了一个小教程,介绍如何
  2. 点击添加其他凭据..."按钮
  3. 为我们的svn服务器定义特定标识符->(<prot://ip:port > Company Subversion Repository)
    • 如果它适用于其他svn,则需要使用此服务器的域.
  1. After that you have to fix your build. I've written a small tutorial on how you can do this here.
  2. open the build configuration
  3. scroll down to the source-code-management section
  4. click on the "Add additional credentials..." button
  5. define as realm the specific identifier for our svn server --> (<prot://ip:port > Company Subversion Repository)
    • if it should work for a different svn you need to use the realm of this server
  • 通过命令行在此服务器上检出存储库-> svn --username {username} --password {password} checkout prot://ip:port/svn/repo<-您可以在开始检出后取消此操作
  • checkout a repo on this server via the command-line --> svn --username {username} --password {password} checkout prot://ip:port/svn/repo <-- you can cancel this after it has started the checkout
  • 使用此cmd阅读Mac上可用的所有领域-> find ~/.subversion/auth/svn.simple/ -type f -exec cat {} + | grep -A 2 realmstring
  • read all realms available on your mac with this cmd --> find ~/.subversion/auth/svn.simple/ -type f -exec cat {} + | grep -A 2 realmstring
    • 还有另一个获取领域字符串的选项.在以前未连接到SVN的PC上,在热敏电阻上执行以下操作: "svn info prot://ip:port/pathtorepo"->这将输出类似于身份验证领域:公司Subversion存储库"
      • there's also another option to get the realmstring. on a pc which was not connected to the svn before, do the following in the therminal: "svn info prot://ip:port/pathtorepo" --> this will output something like "Authentication realm: Company Subversion Repository"

      注意:如果您使用的是 svn + ssh ,则您的领域看起来像"svn + ssh://服务器名称",没有双引号.不需要尖括号,端口或领域名称.

      NOTE : If you are using svn+ssh, your realm would look like "svn+ssh://server-name" without double-quotes. No pointy brackets, port or realm name needed.

      1. 保存并开心!

      这篇关于Jenkins Subversion错误-E200015:无凭据可尝试.验证失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆