2011-02-10 258 views
0

Heya, 快速的问题。 我在EC2上有多个实例,它们之间有一个负载平衡器。我使用一个SVN应用程序来推送到我的现场环境。随意。Amazon EC2多个SVN应用实例

对于多个EC2,我该如何将代码库一次全部推送给它们? 任何想法/链接,将不胜感激。

回答

1

有几种不同的方法可以做到这一点。

如果您正在使用弹性负载平衡器

写脚本:

  1. 从池中
  2. 更新SVN库中删除机器
  3. 重新添加机器池
  4. 任何其他机器的重复

如果您担心一致性问题,您也可以看中并删除一台机器,更新它,删除所有其他机器并更新它们。

如果您正在使用自定义负载平衡应用

查找到Capistrano。您不需要将它与Ruby/Rake一起使用 - 您可以编写可以执行并行部署的自定义cap文件。

0

如何使用vlad或fabric进行代码部署。

0

我们使用Scalr。它可以作为一种服务(Scalr.net)提供,也可以自己运行(它是开源的 - 尽管googlecode存储库中的源代码有时比服务所使用的版本稍微落后)。基本上,Scalr具有全局脚本功能,您可以在其中指定脚本(例如bash,PHP,带#!bang的任何内容),并触发它在给定“角色”的所有实例上运行(例如web实例) 。在我们的例子中,我们有一个脚本,只是将svn checkout或svn更新为适当的。 Scalr支持定期调度脚本,所以在开发环境中我每隔5分钟运行一次以保持dev与SVN同步,但显然我手动触发它进行生产。 (我有脚本需要一个参数来指定要使用的SVN分支)