【问题标题】:Hudson SVN plugins makes exception for private repository updatesHudson SVN 插件对私有存储库更新例外
【发布时间】:2010-11-15 06:55:09
【问题描述】:

我是 Hudson 的新用户。

我正在公司网络中运行 Hudson。我的项目的源代码在其他 IDC 的存储库中。存储库本身不允许公共连接,因此我们为 Hudson 制作了一个从节点机器,可以连接到存储库。当我制作 Hudson 项目时,我使用仅可用于从节点的存储库 URL。

当轮询 SCM 时可以连接,并且源代码更新似乎也可以。但是 SVN 插件会在更新完成后立即引发异常。这是日志。

Started by user xster
Building remotely on XXXBuilder
Updating https://myprivaterepository/myproject/trunk
U         projectsource1
U         projectsource2
At revision 10498
hudson.util.IOException2: revision check failed on https://myprivaterepository/myproject/trunk
 at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:157)
 at hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.java:99)
 at hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:504)
 at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:621)
 at hudson.model.AbstractProject.checkout(AbstractProject.java:1119)
 at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:479)
 at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:411)
 at hudson.model.Run.run(Run.java:1324)
 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
 at hudson.model.ResourceController.execute(ResourceController.java:88)
 at hudson.model.Executor.run(Executor.java:139)
Caused by: org.tmatesoft.svn.core.SVNException: svn: unknown host
svn: OPTIONS request failed on '/myproject/trunk'
 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:103)
 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:87)
 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:616)
 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:273)
 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:261)
 at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:516)
 at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:98)
 at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1001)
 at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:178)
 at org.tmatesoft.svn.core.wc.SVNBasicClient.getRevisionNumber(SVNBasicClient.java:482)
 at org.tmatesoft.svn.core.wc.SVNBasicClient.getLocations(SVNBasicClient.java:851)
 at org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:534)
 at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:1016)
 at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:891)
 at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:823)
 at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:145)
 ... 10 more
Caused by: java.net.UnknownHostException: myprivaterepository
 at java.net.InetAddress.getAllByName0(InetAddress.java:1201)
 at java.net.InetAddress.getAllByName(InetAddress.java:1128)
 at java.net.InetAddress.getAllByName(InetAddress.java:1064)
 at java.net.InetAddress.getByName(InetAddress.java:1014)
 at org.tmatesoft.svn.core.internal.util.SVNSocketFactory.createAddres(SVNSocketFactory.java:132)
 at org.tmatesoft.svn.core.internal.util.SVNSocketFactory.createSSLSocket(SVNSocketFactory.java:67)
 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.connect(HTTPConnection.java:183)
 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:323)
 ... 23 more
[WARNINGS] Skipping publisher since build result is FAILURE
Finished: FAILURE

如果我将主机名更改为 ip,我会收到此消息

hudson.util.IOException2: revision check failed on https://111.111.111.111/myproject/trunk
 at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:157)
 at hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.java:99)
 at hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:504)
 at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:621)
 at hudson.model.AbstractProject.checkout(AbstractProject.java:1119)
 at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:479)
 at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:411)
 at hudson.model.Run.run(Run.java:1324)
 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
 at hudson.model.ResourceController.execute(ResourceController.java:88)
 at hudson.model.Executor.run(Executor.java:139)
Caused by: org.tmatesoft.svn.core.SVNException: svn: timed out waiting for server
svn: OPTIONS request failed on '/myproject/trunk'
 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:103)
 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:87)
 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:616)
 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:273)
 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:261)
 at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:516)
 at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:98)
 at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1001)
 at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:178)
 at org.tmatesoft.svn.core.wc.SVNBasicClient.getRevisionNumber(SVNBasicClient.java:482)
 at org.tmatesoft.svn.core.wc.SVNBasicClient.getLocations(SVNBasicClient.java:851)
 at org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:534)
 at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:1016)
 at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:891)
 at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:823)
 at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:145)
 ... 10 more
Caused by: java.net.SocketTimeoutException: connect timed out
 at java.net.PlainSocketImpl.socketConnect(Native Method)
 at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:310)
 at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:176)
 at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:163)
 at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
 at java.net.Socket.connect(Socket.java:546)
 at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:579)
 at org.tmatesoft.svn.core.internal.util.SVNSocketConnection.run(SVNSocketConnection.java:57)
 at java.lang.Thread.run(Thread.java:636)
[WARNINGS] Skipping publisher since build result is FAILURE
Finished: FAILURE

有解决问题的办法吗?还是绕过?

【问题讨论】:

  • 和我的情况一样。但我不使用码头。我正在使用独立版本。还是谢谢你。
  • 检查是否有一些存储的凭据,用于运行从属的用户。什么是从属操作系统(Windows、Linux、Unix)?从机是如何设置的(作为服务,由从机停止和启动,由主机停止和启动,例如 ssh 节点)?检查错误消息,URL (myprivaterepository/myproject/trunk) 是否正确(大小写很重要)。
  • 您是否在从机上手动尝试了相同的步骤?当然,您应该使用 Hudson 使用的相同凭据进行连接,并且还应使用相同的 SVN 凭据。
  • 您是否尝试使用 IP 而不是主机名?对于一些有类似问题的人来说,它有所帮助。

标签: svn exception hudson hudson-plugins


【解决方案1】:

我们最近几天遇到了这样的问题并得到了解决:

最近在 Jenkins 上安装了 XUnit 插件,只有在触发构建并且 SCM 发生更改时,我们的 XP 从站才开始通过抛出异常(修订检查失败)来表现...

一旦 XUnit 被禁用,问题就消失了。

===

Jenkins 服务器:v1.432

XUnit 插件:v1.2.3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-29
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    相关资源
    最近更新 更多