在搭建持续集成工具jenkins/hudson时,版本控制使用的是svn,由于公司svn是在https方案下,所以在使用jenkins进行svn插件配置时出现如下错误信息:
PM hudson.scm.SubversionSCM$CheckOutTask checkClockOutOfSync INFO: Failed to estimate the remote time stamp org.tmatesoft.svn.core.SVNException: svn: E175002: PROPFIND /timerbin_pojo failed at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:388) 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.doPropfind(DAVConnection.java:131) at org.tmatesoft.svn.core.internal.io.dav.DAVUtil.getProperties(DAVUtil.java:73) at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.info(DAVRepository.java:762) at hudson.scm.SubversionSCM$CheckOutTask.checkClockOutOfSync(SubversionSCM.java:913) at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:891) at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:872) at hudson.FilePath.act(FilePath.java:991) at hudson.FilePath.act(FilePath.java:969) at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:848) at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:786) at hudson.model.AbstractProject.checkout(AbstractProject.java:1280) at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610) at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532) at hudson.model.Run.execute(Run.java:1744) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:374) Caused by: svn: E175002: PROPFIND /timerbin_pojo failed at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208) at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:154) at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:97) ... 22 more
搭建时使用的jdk版本为1.7版本,经过查找问题貌似是出在了jdk中对证书加载的问题。
解决办法:
在放置jenkis.war/hudson.war的tomcat/conf/catalina.sh 中添加如下配置:
JAVA_OPTS=-Djsse.enableSNIExtension=false
问题解决,回头想想发现以前写的httpclient时也设置过
System.setProperty("jsse.enableSNIExtension", "false");
但当时并不知道此配置的作用是干什么,导致一个坑跳进去了两次!
参考地址:http://segmentfault.com/q/1010000000669538