gpt4 book ai didi

ruby-on-rails - 使用 Rails 和 Capistrano 部署在 EC2 上自动扩展

转载 作者:行者123 更新时间:2023-12-04 05:40:23 26 4
gpt4 key购买 nike

是否有一种通用策略来设置自动缩放脚本以更新 capistrano 部署层次结构中的代码,以便在自动缩放事件上启动 AMI 时从存储库中提取代码,以确保在自动缩放机器上运行的提交与非自动缩放上的提交匹配实例?

最佳答案

我运行一个有点像这样的设置。我选择不将实例设置为在启动时与 git 交互,因为:

  • 我希望实例快速启动(部署 + 捆绑安装可能需要一段时间)
  • 我希望扩展/替换实例以不依赖 GitHub、rubygems 等
  • 我希望扩展实例变得非常简单

  • 我所做的是我部署的应用程序位于/var/www/myapp。这实际上是一个单独的 EBS 卷,安装在该位置。文件系统是 xfs,因为您可以使用 xfs_freeze 安全地拍摄已安装卷的 ebs 快照

    部署完成后,在钩子(Hook)后的 capistrano 中,我对/var/www/myapp 卷进行快照。然后我更新了自动缩放启动配置的 block 设备映射,说“当你启动一个实例时,从快照创建一个新卷并将它附加到/dev/sdf。

    启动时实例所要做的就是将该设备挂载到/var/www/myapp,方法是编辑/etc/fstab 或运行一个 super 简单的启动时脚本。 Bundler 设置为将其 gems 保存在/var/www/myapp/shared 中,因此 gems 也得到了照顾

    关于ruby-on-rails - 使用 Rails 和 Capistrano 部署在 EC2 上自动扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13303924/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com