带有SVN应用程序的Amazon EC2多个实例

时间:2011-02-10 00:24:09

标签: amazon-web-services amazon-ec2

部屋, 快问。 我在EC2上有多个实例,它们之间有负载均衡器。我使用的SVN应用程序曾经推送到我的实时环境。随意。

使用多个EC2,我如何一次将代码库推送到所有这些? 任何想法/链接将不胜感激。

3 个答案:

答案 0 :(得分:1)

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

如果您使用的是弹性负载均衡器

编写一个脚本:

  1. 从池中删除计算机
  2. 更新SVN存储库
  3. 将机器重新添加到池中
  4. 重复任何其他机器
  5. 如果你担心一致性,你也可以看中并删除一台机器,更新它,删除所有其他机器并更新它们。

    如果您使用的是自定义负载平衡应用

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我们使用Scalr。它可以作为服务(Scalr.net)使用,也可以自己运行(它是开源的 - 虽然googlecode存储库中的源有时会落后于服务使用的版本。)

基本上,Scalr具有全局脚本功能,您可以通过该功能指定脚本(例如bash,PHP,带有#!bang的任何内容)并触发它在给定“角色”的所有实例(例如Web实例)上运行。在我们的例子中,我们有一个脚本,只需要svn checkout或svn update。 Scalr支持定期调度脚本,所以在开发环境中我每5分钟运行一次以保持dev与SVN同步,但显然我手动触发它进行生产。 (我让脚本使用参数来指定要使用的SVN分支)