【问题标题】:How to deploy and update app on multiply ec2 instances in Amazon Auto-scaling group?如何在 Amazon Auto-scaling 组中的多个 ec2 实例上部署和更新应用程序?
【发布时间】:2014-01-28 04:34:47
【问题描述】:

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

我想使用“用户数据”在新机器上运行“svn up”。也许我可以使用 cron 在所有机器上定期运行“svn up”。 您能提出更好的解决方案吗?

【问题讨论】:

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


    【解决方案1】:

    在我看来,您不应该更新正在运行的实例上的代码,最好创建一个主 AMI,它已准备好所有更新的堆栈/代码,然后有条不紊地终止正在运行的实例并让 Auto Scaling 代码根据需要部署新实例,这实际上将部署您的新代码。

    您可以将 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 滚动更新”以获得更多有用的链接。

    【讨论】:

    • 同意。我还要补充一点,您将更改push 到集群而不是让集群pull 从 SVN 更改更明智。如果您不想(或不能)使用 Elastic Beanstalk 的内置应用程序部署功能,您可以尝试使用 Capistrano 之类的工具来自动部署到机器集群。
    猜你喜欢
    • 2019-06-10
    • 2022-01-22
    • 1970-01-01
    • 2014-06-08
    • 2011-11-24
    • 2021-08-25
    • 2014-05-26
    • 2018-11-18
    • 2019-02-23
    相关资源
    最近更新 更多