Jenkins / Hudson SVN问题

时间:2012-07-31 08:09:34

标签: svn hudson jenkins hudson-plugins jenkins-plugins

我的Jenkins安装有一个(奇怪的)问题,基本上会导致SVN更新失败。

堆栈跟踪显示两个问题:

hudson.util.IOException2: revision check failed on (my repo)....

Caused by: org.tmatesoft.svn.core.SVNException: svn: OPTIONS (my repo)

如果在发生这种情况后重新运行构建,一切正常。

标记

由具有完全相同问题的ganders编辑:

这是我机器上的堆栈跟踪导致此错误。它似乎在尝试访问SVNExternals目录(... / trunk / common)时出现,并且由于某种原因它在第一次尝试访问时没有凭据。然后下一次,它运作得很好:

  

hudson.util.IOException2:修订检查失败   https://myserver.com/....../TrialsMobile/trunk/common at   hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:189)     在   hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.java:132)     在hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:738)at   hudson.scm.SubversionSCM.checkout(SubversionSCM.java:899)at   hudson.model.AbstractProject.checkout(AbstractProject.java:1414)at   hudson.model.AbstractBuild $ AbstractBuildExecution.defaultCheckout(AbstractBuild.java:671)     在   jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)     在   hudson.model.AbstractBuild $ AbstractBuildExecution.run(AbstractBuild.java:580)     在hudson.model.Run.execute(Run.java:1676)at   hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)at at   hudson.model.ResourceController.execute(ResourceController.java:88)     在hudson.model.Executor.run(Executor.java:231)引起:   org.tmatesoft.svn.core.SVNCancelException:svn:E200015:OPTIONS   / svn / mobilena / ios / TrialsMobile / trunk / common失败了   org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:384)     在   org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:373)     在   org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:361)     在   org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:707)     在   org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:627)     在   org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:102)     在   org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1020)     在   org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:180)     在   org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.java:118)     在   org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.java:148)     在   org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.createRepositoryFor(SvnNgRepositoryAccess.java:45)     在   org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteLog.run(SvnRemoteLog.java:160)     在   org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteLog.run(SvnRemoteLog.java:35)     在   org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)     在   org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1238)     在org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)     在   org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:967)     在   org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:872)     在   hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:177)     ... 11更多引起:org.tmatesoft.svn.core.SVNCancelException:   svn:E200015:没有凭据可以尝试。身份验证失败了   org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:37)     在   org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:32)     在   org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getFirstAuthentication(DefaultSVNAuthenticationManager.java:185)     在   org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:694)     在   org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:382)     ... 29更多

3 个答案:

答案 0 :(得分:1)

你不是唯一一个with this issue

看起来你的构建工作原因是因为这发生在修订检查上(我是否需要构建?),以及重建时按 Build Now 按钮,它工作正常。让我们尝试一些事情:

  • 首先,您是否对该插件进行了最新修订?如果你回到Subversion插件的上一版本怎么办?如果您没有使用该插件的最新版本,可以升级到它吗?
  • 检查您的配置。你在指定凭据吗?如果没有,请尝试指定凭据并查看是否有帮助。
  • 看看这个new feature (and not a bug
  • 看看这个blog post

看起来在2.0版的Jenkins SVN插件中引入了错误 功能 ,这改变了身份验证的方式在外部完成。添加惊喜功能是程序员社区死亡的主要原因。

答案 1 :(得分:0)

这些错误行都没有对这个问题有所了解。如果您可以获取svn日志,请发布它们。

如果交替失败,则是访问问题,也许您有权读取但不能写入回购,或者系统的某个部分有错误的用户名/密码。也许你在jenkins配置的一部分输入了svn url的拼写错误。这样的东西是我先看的地方。

答案 2 :(得分:-2)

错误来自SVN。因此,您可以尝试在SVN中创建新目录。您也可以尝试使用IP而不是主机名。如果您可以尝试,请与网络专家保持一致。