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

Svn 如何从一个位置更新多个工作副本?,svn,Svn,我们即将超过我们的web服务器,将在两个负载平衡的web服务器上部署主页。我们目前签出了一份工作副本,无论何时(每天)更改任何内容,我们都会更新副本。当然,在两台服务器上运行的问题是,两台服务器上的更新都不完整,导致异常行为的可能性增加 我们还有一个单独的web服务器供内部使用,还有一个单独的数据库服务器。问题是,如果可能,如何运行一个命令(可能在管理服务器上)来更新两个工作副本 我们通过SSH使用subversion。下面是我们要做的: rails应用程序的路径包含一个符号链接。 在更新我们的

我们即将超过我们的web服务器,将在两个负载平衡的web服务器上部署主页。我们目前签出了一份工作副本,无论何时(每天)更改任何内容,我们都会更新副本。当然,在两台服务器上运行的问题是,两台服务器上的更新都不完整,导致异常行为的可能性增加

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

我们通过SSH使用subversion。

下面是我们要做的:

rails应用程序的路径包含一个符号链接。 在更新我们的应用程序时,我们会将所有服务器上的repo完全签出到一个新位置,并运行单元测试。当所有的更新进程都成功完成它们的工作时,我们几乎同时更新符号链接

查看这种部署策略

蛮力

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

svn up /var/html/myapp
ssh user@host2 'svn up /var/html/myapp'
然后每个人(或项目经理)都必须(远程)执行此脚本以更新生产服务器


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

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

这样就不会真正实现负载平衡,至少不会在fs级别不会在文件系统级别,不会。但是web服务器负载仍然会平衡。