当前位置: 首页 > 面试题库 >

Jenkins和SVN代理的问题

翟弘
2023-03-14
问题内容

我的Jenkins安装(1.442,不能选择升级,因为它是公司管理的中央安装),需要(通过https)访问代理后面的SVN存储库。我相应地配置了.subversion/servers文件,还设置了http_proxyhttps_proxy环境变量。

SVN连接从根本上起作用:

  • 我可以结帐项目
  • 我打电话给SVN储存库查询变更

但是,每当由于仓库中的更改而触发构建时(或者如果我在Jenkins工作区中还没有SVN更新时手动触发构建),就会发生以下错误。当詹金斯(Jenkins)在SVN中未检测到任何更改并且因此不尝试构建更改日志时,进行构建工作。

预计Jenkins机器无法解析主机名,但是它绝对不应尝试使用代理。

对我来说,这似乎是Jenkins SVN插件正确使用了代理配置来从SVN进行轮询和更新,但是SVN更改日志构建器忽略了该配置?

任何提示如何解决此问题?

At revision 1324
hudson.util.IOException2: revision check failed on https://xxxxx/....
at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:170)
at hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.java:112)
at hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:555)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:702)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1195)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:568)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:457)
at hudson.model.Run.run(Run.java:1404)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:481)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:238)
Caused by: org.tmatesoft.svn.core.SVNException: svn: OPTIONS /..... failed
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:291)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:276)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:264)
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:873)
at org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:534)
at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:1019)
at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:894)
at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:826)
at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:158)
... 10 more
Caused by: org.tmatesoft.svn.core.SVNErrorMessage: svn: OPTIONS /....... failed
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:200)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:146)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:89)
... 24 more
Caused by: org.tmatesoft.svn.core.SVNException: svn: OPTIONS request failed on '/.....'
svn: unknown host
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:644)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:285)
... 23 more
Caused by: org.tmatesoft.svn.core.SVNErrorMessage: svn: OPTIONS request failed on '/....'
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:200)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:642)
... 24 more
Caused by: org.tmatesoft.svn.core.SVNErrorMessage: svn: unknown host
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:200)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:397)
... 24 more
Caused by: java.net.UnknownHostException: XXXXXX
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:850)
at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1201)
at java.net.InetAddress.getAllByName0(InetAddress.java:1154)
at java.net.InetAddress.getAllByName(InetAddress.java:1084)
at java.net.InetAddress.getAllByName(InetAddress.java:1020)
at java.net.InetAddress.getByName(InetAddress.java:970)
at org.tmatesoft.svn.core.internal.util.SVNSocketFactory.createAddres(SVNSocketFactory.java:141)
at org.tmatesoft.svn.core.internal.util.SVNSocketFactory.createSSLSocket(SVNSocketFactory.java:72)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.connect(HTTPConnection.java:186)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:342)
... 24 more

问题答案:

我终于能够解决此问题。

事实证明,SVN轮询和结帐发生在分配了作业的Jenkins从属服务器上,而更改日志构建步骤发生在Jenkins主服务器上。

果然我们仅在从属服务器上拥有SVN代理配置…



 类似资料:
  • 当从SVN中提取iOS代码时,我有一个问题。我的代码在我的MAC上运行良好,但当我将它上传到SVN并尝试构建我的项目时,它一遍又一遍地显示相同的错误。 Apple Mach-O链接器(id)错误 ld:找不到-lzbar命令/developer/platforms/iphonesimulator的库。platform/developer/usr/bin/clang失败,退出代码为1 这个问题很烦人

  • 我有一个用Apache AAA Pod(服务和路由)构建的OpenShift环境,它允许通过内部网浏览器(是的,我指的是内部网而不是互联网)进行外部(到OpenShift)https请求。Apache被设置为OpenShift中多个pods/服务的代理服务器。我还有一个最近创建的运行Jenkins的新pod。Jenkins内置了一个web界面。我可以通过为默认Jenkins网址设置ProxyPas

  • 问题内容: 我创建了在SVN上具有文件的Jenkins项目(https://repo.xxx.xxx/svn/priv/projectname;证书是自签名的)。我的问题是,詹金斯(Jenkins)对此项目有空的工作空间(仅.svn),并且无法连接到SVN存储库。错误号为: 詹金斯 版 1.521 我在某个地方建立了我应该使用 -Dsvnkit.http.sslProtocols = SSLv3

  • 问题内容: 我在使用HTTP代理(仅允许http连接)的网络的笔记本电脑(Ubuntu)上。 当我将svn用作诸如“ http:// .....”之类的url时,一切都很酷(google chrome存储库工作完美),但是现在我需要使用svn:// …从服务器进行svn了。我看到连接被拒绝。 我已经在/ etc / subversion / servers中设置了代理配置,但这没有帮助。 有人有意

  • 问题内容: 我正在尝试让CI与Jenkins合作。迄今为止,我们已经在环境中执行了两个计划的构建,但是我们的开发人员希望让CI正常工作。我遵循了Jenkins Subversion插件Wiki页面中概述的说明: https://wiki.jenkins- ci.org/display/JENKINS/Subversion+Plugin 这使我进入了一个可以在命令行执行的脚本,但是当我在Subver

  • 问题内容: 是否有比要求所有开发人员不要签入任何新代码更好的方法来在SVN中实现代码冻结? 我们正在运行CruiseControl,它会自动将最新的构建部署到环境中。因此,如果引入了新代码,先前可用的内部版本将更改为最新版本。我希望已部署的构建是来自特定分支/标记的构建,以便任何新的代码签入都不会影响已部署的构建。仅当我下次标记/分支时,才应再次部署新代码。我们怎样才能做到这一点? 问题答案: 使