【发布时间】:2016-11-15 03:10:43
【问题描述】:
我无法使用 Jenkins 运行构建,并且在控制台中我可以找到以下错误。但是我已经通过浏览器验证了存储库根目录以及子目录的访问权限,这很好。
[EnvInject] - Loading node environment variables.
Building remotely on xxx.xxx.xxx.xxx in workspace /path/project
Updating http://<IP>/path/to/repo at revision
U rpms/src/main/
At revision 6374
hudson.util.IOException2: revision check failed on http://<IP>/path/to/repo/subfolders
at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:178)
at hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.java:113)
at hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:649)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:810)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1382)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:676)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:581)
at hudson.model.Run.execute(Run.java:1593)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:247)
Caused by: org.tmatesoft.svn.core.SVNException: svn: E175002: OPTIONS /path/to/repo/subfolders failed
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:379)
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:352)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:708)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:628)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:103)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1018)
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:1235)
at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:291)
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:166)
... 11 more
Caused by: svn: E175002: OPTIONS path/to/repo/subfolders 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)
... 30 more
Caused by: org.tmatesoft.svn.core.SVNAuthenticationException: svn: E170001: OPTIONS request failed on '/path/to/repo/subfolders'
svn: E170001: OPTIONS of '/path/to/repo/subfolders': 403 Forbidden (http://<IP>/)
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:62)
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:748)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:373)
... 29 more
Caused by: svn: E170001: OPTIONS of '/path/to/repo/subfolders': 403 Forbidden (http://<IP>/)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:189)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:141)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.createDefaultErrorMessage(HTTPRequest.java:452)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:189)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:460)
... 30 more
Notifying upstream projects of job completion
Finished: FAILURE
我们在 CentOS6 操作系统中使用 CollabSVN。
请帮忙。
【问题讨论】:
-
有一个疑问,我看过
.subversion/auth文件夹,但我看不到其中的任何数据。所以我没有删除 .subversion 文件夹,并且 Jenkins 中有多个项目。如果我必须删除 .subversion 目录,是否会对其他项目造成任何麻烦? -
您是否允许(授权方式)访问该远程仓库?在您的堆栈中,我看到一个 403(禁止):
Caused by: svn: E170001: OPTIONS of '/path/to/repo/subfolders': 403 Forbidden (http://<IP>/)是您对您的 IP 地址的编辑,还是您忘记配置远程仓库的 IP? -
@matiaselgart,嗨。是的,即使我在远程计算机的临时目录中进行了结帐,我也没有遇到任何问题。
就像我编辑了该部分以替换我的原始 IP。 -
嗯。另外两个可能的问题。 (1) 当您在本地(在 Jenkins 之外)运行它并且它可以工作时 - Jenkins 使用的 SVN 是否与您在本地使用的相同? (2)在本地运行的时候,你本地环境有没有Jenkins没有的配置? SSH密钥什么的?你是如何从 jenkins 验证到 SVN 存储库与你的本地环境工作的?
-
是的,我们也在为 Jenkins 使用相同的用户名和密码。 2) 没有 SSH 密钥作为通过 HTTP(apache) 协议的身份验证。 3) 在 Jenkins,我们安装了一个 SVN 插件,并在那里输入我们的凭据进行访问。