通过网络推出/发布大型集文件的最有效方法是什么?

AR.*_*AR. 3 synchronization copy file-transfer

这是我的场景:

我们需要将一组文件(一个“工作区”)从源服务器推送到多个目标服务器。文件保存在版本控制 (SVN) 之下,因此第一步是将存储库的最新版本导出到源服务器。然后,我需要确保位于不同大陆的多个区域服务器拥有该工作区的最新版本。

我有一个使用 ROBOCOPY 工作的脚本,但它将整个工作区发送到每个目标服务器。复制时间很长,传输可能会阻塞到一些连接不太好的站点的网络..... 我已经收到了投诉!

在大多数情况下,更改仅适用于所有文件的一小部分,因此某种差异副本将是理想的选择。我不愿意走同步/镜像路线,因为远程服务器上的文件会经常使用和修改,并且同步工具很可能会认为区域服务器上的文件更新。

您是否可以推荐任何脚本/工具来提高发布此工作区的效率?我不介意是否有价格合理的也可以帮助完成这项工作。

操作系统:Windows Server 2003 网络带宽:这是一个私人公司网络,连接速度可能会有很大差异

Jim*_*ran 6

鉴于文件受版本控制,如何在 svn 中为文件的“生产就绪”版本创建一个分支。然后,不要在主服务器上进行 svn 导出,而是在所有服务器上进行检出,并使用“svn update”从“Production Ready”分支更新它们。

拥有生产就绪分支的想法是您可以继续处理文件,并在您准备将它们“发布”到所有服务器时将文件复制到分支中。这样,您的生产服务器上就不会出现“未完成”的东西。

吉姆。

PS:这与 Dave Cheney 的回答基本相同,只是更详细一些。


Dav*_*ney 5

您提到源代码在 SVN 中。你能做 svn up 吗?

  • 或者,如果您为每个生产就绪版本使用不同的标签,您可以简单地执行 svn 切换到新 URL;相同的想法,但使用标签,因此您可以将每个人更新到同一个版本,而无需担心开发人员在您广播时进行恶意签到。 (3认同)