我正在尝试使用 jenkins 配置 svn,但出现以下错误。是否有任何许可?
Unable to access file:///C:/TestProject/ : svn: E180001: Unable to open an ra_local session to URL
svn: E180001: Unable to open repository 'file:///C:/TestProject/'
下面是 Jenkins 中显示的堆栈跟踪:
Caused by: svn: E180001: Unable to open an ra_local session to URL
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)
at org.tmatesoft.svn.core.SVNErrorMessage.wrap(SVNErrorMessage.java:407)
... 69 more
Caused by: svn: E180001: Unable to open repository 'file:///C:/TestProject/'
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:171)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:126)
at org.tmatesoft.svn.core.internal.io.fs.FSRepository.openRepository(FSRepository.java:760)
... 68 more
Caused by: org.tmatesoft.svn.core.SVNException: svn: E180001: Unable to open repository 'file:///C:/TestProject/'
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.fs.FSRepository.openRepositoryRoot(FSRepository.java:782)
at org.tmatesoft.svn.core.internal.io.fs.FSRepository.openRepository(FSRepository.java:758)
... 68 more
Caused by: svn: E180001: Unable to open repository 'file:///C:/TestProject/'
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:171)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:126)
at org.tmatesoft.svn.core.internal.io.fs.FSRepository.openRepositoryRoot(FSRepository.java:781)
这个特定的错误消息进行了一些调查之后(尽管很难说这是否是用户特定问题的答案),我已经确定一个原因是原版 Jenkins 安装中的默认 SVN 插件,特别是如果一个人使用的是最新的 TortoiseSVN,它随 SVN 1.8 一起提供。
如果在撰写本文时升级到最新版本的SVN插件v2.5,则可以看到已包含对SVN 1.8的支持。另外,不要忘记在 Jenkins 中设置 SVN 版本号。请注意,最好在升级后从 Jenkins 工作区中删除项目目录,因为工作区的.svn
目录中可能存储了过时的数据。
这至少解决了我的问题。
赋予 Jenkins 存储库目录的所有权。这可能有点矫枉过正,但出于演示目的,没关系。
我是 linux 用户,所以在 Windows 管理员上不太热,但这可能有助于更改所有权。