如何在Amazon Auto-scaling组中的多个ec2实例上部署和更新应用程序?

时间:2014-01-09 14:46:42

标签: svn deployment amazon-web-services load-balancing autoscaling

您能否建议我可以通过哪些方式将代码更改从SVN部署到自动扩展组中的Amazon负载均衡器后面运行的所有ec2实例? 当在自动缩放组中自动启动新的ec2实例时,我还需要将代码更新到最新版本。

我想使用'user-data'在新机器上运行'svn up'。也许我可以使用cron在所有机器上定期运行'svn up'。 你能提出更好的解决方案吗?

1 个答案:

答案 0 :(得分:7)

在我看来,你不应该更新正在运行的实例上的代码,更好的是创建一个主AMI,其中包含所有已更新的堆栈/代码,然后有条不紊地终止正在运行的实例并让自动扩展代码根据需要部署新实例,这将实际部署新代码。

您可以将AWS Cloudformation用于此任务: http://aws.amazon.com/about-aws/whats-new/2013/02/20/announcing-new-aws-cloudformation-deployment-enhancements/

或ElasticBeanStalk:

http://aws.amazon.com/about-aws/whats-new/2013/11/11/aws-elastic-beanstalk-announces-rolling-updates/

尝试谷歌搜索“AWS滚动更新”以获得更有用的链接。