部屋, 快问。 我在EC2上有多个实例,它们之间有负载均衡器。我使用的SVN应用程序曾经推送到我的实时环境。随意。
使用多个EC2,我如何一次将代码库推送到所有这些? 任何想法/链接将不胜感激。
答案 0 :(得分:1)
有几种不同的方法可以做到这一点。
如果您使用的是弹性负载均衡器
编写一个脚本:
如果你担心一致性,你也可以看中并删除一台机器,更新它,删除所有其他机器并更新它们。
如果您使用的是自定义负载平衡应用
查看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分支)