如何将编译的代码同步到多个EC2实例

jam*_*nto 6 c# deployment amazon-s3 amazon-ec2

我们在负载均衡器后面有几个EC2实例.每个服务器都部署了几个ASP.NET应用程序.我正在寻找一种简单,实时,自动化的方式来同时将新编译的代码部署到所有实例.

我已经看到使用源代码控制存储库(如SVN或Git)的解决方案,但这似乎不适合我们使用该技术,因为我们正在将编译的代码部署到EC2实例 - 而不是源代码.

我还设置了Dropbox来完成同步.它有点奏效,但有它的怪癖.例如,您需要围绕"一个根同步文件夹"限制构建目录结构.我们绝对不应该为此使用Dropbox的任何其他原因?

使用S3 API编写自定义应用程序是一种选择,但我们更喜欢第三方解决方案而不是编写更多代码.

这似乎是一种常见的情况,但我还没有找到任何好的解决方案.

jam*_*nto 5

Elastic Beanstalk似乎是现在最好的路线。您只需将 Web 部署项目推送到弹性 beanstalk 环境,它就会将代码部署到您的所有实例。(它为您管理自动缩放。)它还确保启动的新实例将为您提供最新的代码,并保留您可以轻松回滚到的先前版本。

如果您的 asp.net 网站需要在 AWS 上自动扩展,Elastic Beanstalk 确实是最好的端到端解决方案。