Jenkins/Hudson SVN问题 [英] Jenkins/Hudson SVN Issue

查看:217
本文介绍了Jenkins/Hudson SVN问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Jenkins安装中遇到一个(奇怪的)问题,该问题基本上导致SVN更新交替失败.

I have a (strange) issue on my Jenkins installation which basically leads to SVN updates failing on an alternate basis.

堆栈跟踪显示两个问题:

The stack trace shows two issues:

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

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

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

If I rerun a build after this happens, everything works just fine.

标记

由甘德斯编辑,并且存在完全相同的问题:

Edit by ganders with exact same issue:

这是我机器上的堆栈跟踪导致此错误.尝试访问SVNExternals目录(.../trunk/common)时,似乎会发生这种情况,并且由于某种原因,它在首次尝试访问时没有凭据.然后下一次,它就可以了:

Here's the stack trace from my machine that causes this error. It would appear as though it occurs when it tries to access the SVNExternals directory (.../trunk/common), and for some reason it doesn't have the credentials the first time it tries to access. Then the next time, it works just fine:

hudson.util.IOException2:修订检查失败 https://myserver.com/....../TrialsMobile/trunk /common hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:189) 在 hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.java:132) 在hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:738)处 hudson.scm.SubversionSCM.checkout(SubversionSCM.java:899)在 hudson.model.AbstractProject.checkout(AbstractProject.java:1414)在 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)处 hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)在 hudson.model.ResourceController.execute(ResourceController.java:88) 在hudson.model.Executor.run(Executor.java:231)上由以下原因引起: org.tmatesoft.svn.core.SVNCancelException:svn:E200015:选项 /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个

hudson.util.IOException2: revision check failed on https://myserver.com/....../TrialsMobile/trunk/common 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:1414) 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:1676) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 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/mobilena/ios/TrialsMobile/trunk/common 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

推荐答案

您不是唯一的看起来像您的构建工作正常的原因是因为这发生在修订检查(我需要构建吗?)上,并且当您通过按立即构建重建时>按钮,效果很好.让我们尝试一些事情:

The reason it looks like your build works is because this happens on a revision check (Do I need to build?), and when you rebuild by pressing the Build Now button, it works fine. Let's try a few things:

  • First, are you on the latest revision of the plugin? What if you drop back to the previous revision of the Subversion plugin? If you're not on the latest revision of the plugin, can you upgrade to it?
  • Check your configuration. Are you specifying credentials? If not, try specifying credentials and see if that helps.
  • Take a look at this new feature (and not a bug.
  • Take a look at this blog post.

似乎在版本2.0的Jenkins SVN插件中引入了 bug 功能 在外部完成.添加惊喜功能是导致程序员社区死亡的主要原因.

It looks like there was a bug introduced feature added in the SVN Plugin for Jenkins back in version 2.0 that changed the way authentication is done on externals. Adding surprise features is a leading cause of death in the programmer community.

这篇关于Jenkins/Hudson SVN问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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