从 CI 部署时,作为启动 PM2 的用户,pm2 restart appname
总是会导致[PM2][ERROR] Process or Namespace appname not found
部署时的 whoami/who 显示正确的用户。
尝试切换用户以及 PM2 的位置:
/usr/local/bin/pm2 restart appname
结果仍是未找到进程。
CI 命令:
script:
- pm2 restart appname
或者:
deploy: 'ssh -o StrictHostKeyChecking=no $DEPLOY_USER@$DEPLOY_IP "pm2 restart appname"'
script:
- "eval $deploy"
答案1
第一个“pm2 start appname”命令运行“pm2 save”后,它会将进程与之前保存的列表同步。在 CI 脚本中包含“pm2 save”后重启示例:
- 运行:sudo pm2 restart appname
- 运行:sudo pm2 save 这对我有用,希望你找到了解决方案。
答案2
如果收到 [PM2][ERROR] Script not found: /root/appname
首先运行以下命令:pm2 start npm --name "appname" --run "start:dev"
然后,参见/运行上面的 Debapriya Das,pm2 start appname 和 pm2 save