使用 AWS Auto-Scaling 更新 Node.JS 个应用程序

Updates on a Node.JS application with AWS Auto-Scaling

我正在寻找有关在使用由自动缩放生成的多个实例时部署 Node.JS 应用程序更新版本的最佳方式的建议。

我的代码托管在 GitHub 上,通常的部署是使用 GitHub 操作进行的,在特定主机上 CI 之后推送更新并触发 install/db 更新。

现在我的实例是“变量”,我正在考虑定期进行某种轮询,但这个解决方案不合适,因为它打破了通常的 CI 过程。

您有什么好的做法可以正确设置这一切吗?

您可以在 user-data 部分添加脚本来更新或执行任何初始化进程。

您的实例应该能够从 Github 中提取代码,并且 init 脚本将执行必要的操作。 注意:用户数据脚本只会在自动缩放组产生新实例后执行。

例如

#!/bin/bash
cd /app;
git pull;
npm install;
pm2 start myapp.js

您可以考虑使用 CodePipepline (CP) 或至少 CodeDeploy (CD)。它们似乎非常适合您来自 github.

的自动部署用例

CP integrates with GitHub 这样您就可以将其设置为自动检测存储库中的更改。根据您的应用程序的具体情况,您可以使用或不使用 CodeBuild (CB) 以及要部署到您的实例的 CD。

CD integrates with Auto Scaling Group,这样设置好了,在群里使用应该没有问题

第一次进行时,初始设置可能会很麻烦。但一旦完成,您将获得 好处 自动部署您的应用程序、回滚、通知等。