![PM2-使用 GitLab CI 部署时未找到进程或命名空间](https://linux22.com/image/767652/PM2-%E4%BD%BF%E7%94%A8%20GitLab%20CI%20%E9%83%A8%E7%BD%B2%E6%97%B6%E6%9C%AA%E6%89%BE%E5%88%B0%E8%BF%9B%E7%A8%8B%E6%88%96%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4.png)
从 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