如何将最新代码推送到自动缩放组的机器中
我尝试使用 运行生产AWS
服务器auto scaling framework
。
我想知道如何将新发布的代码部署到正在运行的生产服务器中。
我目前不关心down time
。
nginx
我使用反向代理 运行 Web 服务器puma
完成这项任务的常见做法是什么?
我认为登录 AWS 控制台找到所有服务器 IP 并通过 SSH 进入。更新代码库并重启 puma web 服务器并不是维护产品质量的好方法
答案1
我想知道如何将新发布的代码部署到正在运行的生产服务器中。
简单来说,你不需要。
相反,要么更新启动 ASG 实例的 AMI,要么更新启动配置以包含启动时部署的新代码。
答案2
目前,CodeDeploy 与 ASG 组具有非常好的集成,如果您确实选择使用它,只需确保您将 CodeDeploy 代理嵌入 ASG 的 AMI 中或使用用户数据安装代理即可。如果您嵌入 AMI,请注意,您需要不时更新 AMI,以免更新过多。
AWS 还为 ASG 集成提供了额外的脚本,这些脚本将防止自动扩展活动在更新期间离线时替换实例,如果您使用 ELB,它还将取消注册以防止 ELB 向其发送流量。
http://docs.aws.amazon.com/codedeploy/latest/userguide/auto-scaling-integ.html
正如其他海报所提到的,Elastic Beanstalk 也是一个选择。