【问题标题】:Updates on a Node.JS application with AWS Auto-Scaling使用 AWS Auto-Scaling 更新 Node.JS 应用程序
【发布时间】:2020-10-27 13:45:00
【问题描述】:

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

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

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

您有什么好的做法来正确设置所有这些吗?

【问题讨论】:

    标签: node.js amazon-web-services amazon-ec2 amazon-ami aws-auto-scaling


    【解决方案1】:

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

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

    例如

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

    【讨论】:

      【解决方案2】:

      您可以考虑使用CodePipepline (CP) 或至少CodeDeploy (CD)。它们似乎非常适合您从 github 进行自动部署的用例。

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

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

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

      【讨论】:

        猜你喜欢
        • 2017-07-31
        • 2018-03-25
        • 2023-03-13
        • 2012-09-30
        • 2018-04-17
        • 2015-11-17
        • 2020-05-16
        • 2017-02-07
        • 2015-10-08
        相关资源
        最近更新 更多