我已经将jenkins的Subversion插件更新到了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
最佳答案
在对官方 bug 进行了多次评论后确定 report我们能够解决这个问题。
因此,要使其正常工作,您必须更新到 subversion 插件的最新 2.3-snaptshot, 可以在这里找到:
https://jenkins.ci.cloudbees.com/job/plugins/job/subversion-plugin/
(下载 .hpi 文件并将其安装在您的 jenkins 上)
- 之后您必须修复您的构建。我写了一个关于如何执行此操作的小教程 here .
- 打开构建配置
- 向下滚动到源代码管理部分
- 点击“添加其他凭据...”按钮
- 将 svn 服务器的特定标识符定义为领域 --> (
<prot://ip:port > Company Subversion Repository
) - 如果它适用于不同的 svn,您需要使用此服务器的领域
- 通过命令行在该服务器上 checkout 存储库 -->
svn --username {username} --password {password} checkout prot://ip:port/svn/repo
<-- 开始结账后您可以取消
- 通过命令行在该服务器上 checkout 存储库 -->
- 使用此 cmd 读取 Mac 上可用的所有领域 -->
find ~/.subversion/auth/svn.simple/ -type f -exec cat {} + | grep -A 2 realmstring
- 使用此 cmd 读取 Mac 上可用的所有领域 -->
- 还有另一个获取领域字符串的选项。在之前没有连接过svn的电脑上,在Therminal中执行以下操作: "svn info prot://ip:port/pathtorepo"--> 这将输出类似“身份验证领域:Company Subversion Repository”的内容
- 选择凭据 -->
buildmaster/****** (<prot://ip:port> Company Subversion Repository)
注意:如果您使用svn+ssh,您的领域将类似于“svn+ssh://server-name”,不带双引号。不需要尖括号、端口或领域名称。
- 节省并快乐!
关于svn - Jenkins Subversion 错误 - E200015 : No credential to try. 身份验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22068297/