如何从一个位置更新多个工作副本?

时间:2009-04-01 07:55:13

标签: svn

我们即将超越我们的Web服务器,并将在两个负载均衡的Web服务器上部署主页。我们目前有一个工作副本签出,每当(每天)我们更改任何东西,我们svn更新副本。在两台服务器上运行的问题当然是在任一服务器上没有完成更新的可能性增加导致奇怪的行为。

我们还有一个供内部使用的独立Web服务器和一个单独的数据库服务器。问题是如果可能的话,如何运行一个命令(可能在管理服务器上)来更新两个工作副本?

我们通过SSH使用subversion。

3 个答案:

答案 0 :(得分:1)

以下是我们的工作:

我们的rails-app的路径包含一个符号链接。 更新我们的应用程序时,我们会完全检查所有服务器上的repo到新位置并运行单元测试。当所有更新过程成功完成工作后,我们几乎同时更新符号链接。

查看http://www.capify.org以了解此类部署策略

答案 1 :(得分:0)

蛮力,,,

为什么不在服务器上安装脚本,如:

svn up /var/html/myapp
ssh user@host2 'svn up /var/html/myapp'

然后每个人(或项目经理)必须执行此脚本(远程)以更新生产服务器。

但我确信那里有更优雅的解决方案

答案 2 :(得分:0)

将服务器工作目录符号链接到两个服务器指向的公共位置。您只有1个工作副本,并且两个服务器都指向它。然后你只需要更新1个位置。