Fix deployment workflow: correct target paths and PM2 cwd

- Deploy backend to /opt/gameserver-monitor/backend/ (not root)
- Deploy frontend to /opt/gameserver-monitor/frontend/dist/
- Run PM2 restart from backend directory with --update-env
- Add proper PM2 process check before restart

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Alexander Zielonka
2026-01-09 12:27:09 +01:00
parent 2d9a5910fa
commit d5700fe84a

View File

@@ -38,8 +38,9 @@ jobs:
username: root username: root
key: ${{ secrets.SSH_DEPLOY_KEY }} key: ${{ secrets.SSH_DEPLOY_KEY }}
source: "gsm-backend/" source: "gsm-backend/"
target: "/opt/gameserver-monitor/" target: "/opt/gameserver-monitor/backend/"
strip_components: 1 strip_components: 1
overwrite: true
- name: Deploy Frontend - name: Deploy Frontend
uses: appleboy/scp-action@v0.1.7 uses: appleboy/scp-action@v0.1.7
@@ -48,8 +49,9 @@ jobs:
username: root username: root
key: ${{ secrets.SSH_DEPLOY_KEY }} key: ${{ secrets.SSH_DEPLOY_KEY }}
source: "gsm-frontend/dist/" source: "gsm-frontend/dist/"
target: "/opt/gameserver-monitor/frontend/" target: "/opt/gameserver-monitor/frontend/dist/"
strip_components: 2 strip_components: 2
overwrite: true
- name: Restart Services - name: Restart Services
uses: appleboy/ssh-action@v1.0.3 uses: appleboy/ssh-action@v1.0.3
@@ -58,6 +60,14 @@ jobs:
username: root username: root
key: ${{ secrets.SSH_DEPLOY_KEY }} key: ${{ secrets.SSH_DEPLOY_KEY }}
script: | script: |
cd /opt/gameserver-monitor cd /opt/gameserver-monitor/backend
pm2 restart gsm-backend || pm2 start backend/server.js --name gsm-backend
# Restart or start PM2 process with correct cwd
if pm2 list | grep -q gsm-backend; then
pm2 restart gsm-backend --update-env
else
pm2 start server.js --name gsm-backend
pm2 save
fi
echo "Deploy complete!" echo "Deploy complete!"