Capistrano 和 Auto-Scaling AWS
Posted
技术标签:
【中文标题】Capistrano 和 Auto-Scaling AWS【英文标题】:Capistrano and Auto-Scaling AWS 【发布时间】:2018-04-17 05:47:28 【问题描述】:我们正在尝试找出使用 Capistrano 部署到自动扩展 AWS 设置的最佳方式,并坚持使用最佳方式来确保新服务器自动获取最新代码,而无需依赖 AMI。
有什么想法吗?
【问题讨论】:
【参考方案1】:使用User Data
,您可以让您的EC2 实例在每次启动新实例时提取最新代码。
更多关于用户数据的信息:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html
tldr:用户数据几乎是一个在您的 ec2 实例启动时执行的 shell 脚本。你可以让它拉取最新的代码并运行它
【讨论】:
【参考方案2】:@Moe 的答案(或类似的答案是正确的)。但正如另一个想法,您可以编写一些 Ruby,在部署时查询 AWS 以获取 Capistrano 将部署到的服务器列表。这种方法的问题是,每次自动缩放添加服务器时,您都必须手动部署到所有服务器,这有悖于目的。
【讨论】:
以上是关于Capistrano 和 Auto-Scaling AWS的主要内容,如果未能解决你的问题,请参考以下文章
Amazon EC2、Auto-Scaling、AMI,有没有更简单的方法?
Ansible:将正在运行的 EC2 实例添加到 Auto-scaling 组
/usr/bin/env ruby 没有这样的文件或目录:使用 capistrano 3、capistrano/rbenv、capistrano/bundler 和 capistrano/rail
如何在 Amazon Auto-scaling 组中的多个 ec2 实例上部署和更新应用程序?