【问题标题】:Pm2 stops my app after github action finishesgithub 操作完成后 Pm2 停止我的应用程序
【发布时间】:2022-06-10 20:47:40
【问题描述】:

我编写了一个脚本deploy.sh,作为.github/deploy.yml 文件中的一个步骤运行。

这是 yaml 文件中我执行 shell scipt 的部分

   - name: Execute script
     uses: appleboy/ssh-action@master
     with: 
       host: ${{ secrets.HOST_DNS }}
       username: ${{ secrets.USERNAME }}
       key: ${{ secrets.EC2_SSH_KEY }}
       script: |
         cd server/
         chmod 755 deploy.sh
         ./deploy.sh

这里是shell脚本

echo "Kill pm2"
sudo pm2 kill


echo "Install app dependencies"
sudo rm -rf node_modules package-lock.json
sudo npm run get

echo "Start app with pm2"
sudo pm2 start index.js -i max
sudo pm2 list

在 github 操作日志部分,我可以清楚地看到 pm2 正在启动我的应用程序

out: [PM2] Spawning PM2 daemon with pm2_home=/root/.pm2
out: [PM2] PM2 Successfully daemonized
out: [PM2] Starting /home/***/server/index.js in cluster_mode (0 instance)
out: [PM2] Done.
out: ┌─────┬──────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
out: │ id  │ name     │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
out: ├─────┼──────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
out: │ 0   │ index    │ default     │ 1.0.1   │ cluster │ 4807     │ 0s     │ 0    │ online    │ 0%       │ 35.1mb   │ root     │ disabled │
out: └─────┴──────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
out: ┌─────┬──────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
out: │ id  │ name     │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
out: ├─────┼──────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
out: │ 0   │ index    │ default     │ 1.0.1   │ cluster │ 4807     │ 0s     │ 0    │ online    │ 0%       │ 52.2mb   │ root     │ disabled │
out: └─────┴──────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
==============================================
✅ Successfully executed commands to all host.
==============================================

但在那之后,当我通过 SSH 连接到服务器并运行 pm2 list 时,我看不到任何进程正在运行。

发生这种情况的任何原因?提前致谢。

【问题讨论】:

    标签: node.js github-actions pm2


    【解决方案1】:

    显然,我正在使用sudo 执行命令,并使用另一个用户pm2 list,这就是我看不到该过程的原因。

    【讨论】:

      最近更新 更多