[英]NodeJS app deploying with PM2 (both clustered and not)
让我们假设以下流程:
如何让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.