Node.js 可吸入颗粒物;连续交付:如何判断PM2过程是否没有';不发射?

Node.js 可吸入颗粒物;连续交付:如何判断PM2过程是否没有';不发射?,node.js,pm2,continuous-delivery,Node.js,Pm2,Continuous Delivery,CI/CD服务通常使用成功或失败来显示部署是否成功以及是否发生错误。然而,对于PM2来说,这并不容易 如果您这样做: pm2 start econosystem.config.js在您的一个部署步骤中,pm2将启动进程,但如果其中一个进程失败,则不会报告错误。要检查它,您需要执行pm2 status,然后通过重新启动的次数和执行pm2日志--err来判断发生了什么。我希望PM2返回一个非零代码或详细描述一个进程在第一次启动时失败,而不是它现在所做的(无声失败) 是否有本机PM2命令可使其轻松与C

CI/CD服务通常使用
成功
失败
来显示部署是否成功以及是否发生错误。然而,对于PM2来说,这并不容易

如果您这样做:
pm2 start econosystem.config.js
在您的一个部署步骤中,pm2将启动进程,但如果其中一个进程失败,则不会报告错误。要检查它,您需要执行
pm2 status
,然后通过重新启动的次数和执行
pm2日志--err
来判断发生了什么。我希望PM2返回一个非零代码或详细描述一个进程在第一次启动时失败,而不是它现在所做的(无声失败)

是否有本机PM2命令可使其轻松与CI/CD发布状态报告集成

我想要达到的目标:

pm2启动生态系统.config.js
#ecosystem.config.js中的一个进程失败,原因是数据库引擎未运行,驱动程序无法连接到数据库
#pm2打印到stderr,我的CI/CD服务出现故障。如果pm2未能启动其中一个过程,pm2将关闭并返回非零
目前发生的情况:

pm2启动生态系统.config.js
#其中一个进程失败
#没有打印错误,根据pm2,一切正常。pm2继续运行,有问题的进程无声地失败

现在我要去我的后台环境,我发现我无法连接,例如端口80,然后我用SSH连接到后台环境的机器上,运行
pm2 status
查看发生了什么。我想我应该立即在Azure Devops上的部署日志中看到这一点(或者其他任何东西,这正是我所使用的)