我的 Subversion 服务器 http://192.168.0.10/svn 是通过 Write-through proxying 建立的一个 slave server。在 slave 服务器操作系统时间偏移过大的时候,jenkins 从 svn 取出数据时失败了,错误日志如下:
Started by user blah Cleaning workspace /usr/local/jenkins/jobs/blah-project/workspace Checking out http://192.168.0.10/svn/blah/trunk ERROR: Failed to check out http://192.168.0.10/svn/blah-project/trunk org.tmatesoft.svn.core.SVNException: svn: REPORT of /svn/blah-project/!svn/vcc/default: 500 Internal Server Error (http://192.168.0.10) 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.DAVRepository.getDatedRevision(DAVRepository.java:205) at org.tmatesoft.svn.core.wc.SVNBasicClient.getRevisionNumber(SVNBasicClient.java:477) at org.tmatesoft.svn.core.wc.SVNBasicClient.getLocations(SVNBasicClient.java:879) at org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:534) at org.tmatesoft.svn.core.wc.SVNUpdateClient.doCheckout(SVNUpdateClient.java:901) at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:83) at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:135) at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:747) at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:728) at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:712) at hudson.FilePath.act(FilePath.java:758) at hudson.FilePath.act(FilePath.java:740) at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:705) at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:654) at hudson.model.AbstractProject.checkout(AbstractProject.java:1184) at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:537) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:425) at hudson.model.Run.run(Run.java:1376) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:466) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:175) Caused by: org.tmatesoft.svn.core.SVNErrorMessage: svn: REPORT of /svn/blah/!svn/vcc/default: 500 Internal Server Error (http://192.168.0.10) at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:200) at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:181) at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:133) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.createDefaultErrorMessage(HTTPRequest.java:430) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.readError(HTTPRequest.java:286) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:211) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:364) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:285) 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.doReport(DAVConnection.java:266) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.doReport(DAVConnection.java:257) at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getDatedRevision(DAVRepository.java:198) ... 20 more WARNING: clock of the subversion server appears to be out of sync. This can result in inconsistent check out behavior. Finished: FAILURE