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 实例上部署和更新应用程序?

OpenStack 企业私有云的几个需求:自动扩展(Auto-scaling) 支持

Auto-Scaling 移除 ECS 服务中正在运行的任务 (FARGATE)