4

我一直对 subversion 1.7 的新更新与使用 Jenkins 有问题。

这是交易,我们公司的一些人切换到新的 subversion 1.7,因此他们无法恢复到旧的 1.6 subversion 文件夹结构(除非他们提交所有内容删除他们的文件夹,卸载新的 1.7 subversion 及其所有很酷的新功能,安装旧的和无聊的 1.6 并重新导出所有内容,我知道)。

因此,考虑到想要继续前进并使用 subversion 1.7 的新功能,例如拥有可以轻松使用修订号的外部...,我现在遇到了 jenkins 的问题。

我对 Jenkins 的选择是使用 SVNKIT 1.3.7 的插件,或者可以更新到 1.3.9。如果我们查看 SVNKIT 的下载页面(http://svnkit.com/download.php),他们会说 1.3.7 和 1.3.9 版本与 Subversion 1.7 不兼容。这应该在 2012 年 3 月左右修复。我的服务器必须尽快启动并运行,所以我不能等 1 个月。

那么你对我有什么建议让我的用户使用 Subversion 1.7 并且我仍然可以使用 Jenkins。

仅供参考,我尝试了以下方法:

  • 更改服务器上使用的协议,使用协议 SSLv3 使 Subversion 工作但 jenkins 失败,使用 TLSv1 和 SSLv3 使 jenkins 工作但失败一些 subversion 操作,所以没有积极的结果。
  • 更改 jenkins 中的协议选项以使用 SSLv3,这在一些常见问题解答中提到默认情况下 jenkins 使用协议 TLSv1,仍然没有积极的结果。(总是给我错误无法访问https://svn.myrepos.com/svn/teamlib/package/ThePackages/trunk:svn:OPTIONS /svn/teamlib/package/ThePackages/trunk failed(显示详细信息)(也许您需要输入凭据?))
  • 在另一台使用 TLSv1 和 SSLv3 的服务器上创建一个新的存储库,这个存储库将只包含一个指向真正基本存储库的外部链接(例如,新存储库https://svn2.myrepos.com/svn/teamlib/testpackage/trunk仅包含另一个服务器上仅使用 SSLv3 的 svn的外部链接https://svn.myrepos.com/svn/teamlib/package/ThePackages/trunk)。

自从 Jenkins 可以很好地构建所有东西但似乎无法导出外部组件以来,最新的一次是我最接近成功的一次。(虽然我可以手动进行导出,但我需要由詹金斯完成)。

所以有什么想法吗?

4

2 回答 2

3

我不确定我是否了解您的架构。即使存储库正在运行 subversion 1.6.x,您的开发人员也可以继续在他们的开发机器(客户端)上使用 1.7。据我所知,改进的外部支持是在 1.7 之前引入的,例如我们在 1.6.x 中使用挂钩的外部支持。在我看来,与 Jenkins 的兼容性胜过在服务器上运行 1.7 的任何好处。

我们运行一个运行 subversion 1.6.x 的中央 svn 服务器(支持挂钩的外部修订),一些开发人员已经在他们的开发机器上升级到 subversion 1.7 客户端。因为 svn 服务器运行的是 1.6.x,Jenkins 可以从我们的中央存储库中检出(包括检出外部)。在 Jenkins/SvnKit 支持 1.7 之前,我建议在你的存储库中坚持使用 1.6.x。

Subversion 1.7 发行说明说存储库格式没有改变,所以如果你已经升级了你应该能够降级你的存储库:

Subversion 1.7 服务器使用与 Subversion 1.6 相同的存储库格式。因此,可以在 1.6.x 和 1.7.x 服务器之间无缝升级和降级,而无需更改磁盘存储库的格式。(这对于任何一对 1.x 和 1.y 服务器通常都不正确,但恰好适用于 1.6 和 1.7。)如果在服务器上启用了新的 1.7 功能(在挂钩或服务器配置文件中),它们当然,在恢复到 1.6 服务器之前必须禁用。

于 2012-03-01T00:35:19.560 回答
0

您必须等到 Jenkins 的 subversion 插件更新以支持 Subversion 1.7。我不确定那会是什么时候。Hudson Subversion 插件升级的开发目前正在进行中,应该在插件的下一个版本中可用。

于 2012-03-01T00:38:19.030 回答