繁体   English   中英

使用PM2部署的NodeJS应用程序(均已集群且未集群)

[英]NodeJS app deploying with PM2 (both clustered and not)

让我们假设以下流程:

  1. 服务器上的/ project具有运行范围的 pm2实例
  2. 新的应用程序版本已推送至主版本
  3. CI构建新版本

如何让CI将新的应用程序实例部署到x机?

当前想法:4. CI将构建转移到服务器上的/ project-next 5. CI停止/ project上的作用域pm2并在/ project-next上开始作用域的pm2 6. CI将/ project-next转移到/ project

但是第5步将导致应用程序损坏:如何在不停机的情况下成功进行优美的pm2部署?

关联的github问题: https : //github.com/Unitech/pm2/issues/2944

为什么不使用蓝色/绿色部署形式?

基本上,您有两个文件夹:project-a和project-b。 假设您的产品正在项目a上运行,则在项目b中部署下一个版本,启动它,然后在其上运行CI测试。 然后,一旦一切就绪并开始运行,您就可以将请求定向到project-b(使用负载平衡器,iptables规则或其他方法)

现在您可以停止project-a(旧版本),这就是您以零停机时间进行部署的原因。

在下一次部署中,您将新版本移到项目-a上,然后以完全相同的方式进行其他处理(在项目a中运行,将项目-b重定向到项目-a,终止项目-b)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM