eolas-api/.forgejo/workflows/deploy.yaml

35 lines
1.4 KiB
YAML
Raw Normal View History

name: Deploy eolas-api
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
2025-10-08 18:53:44 +01:00
with:
fetch-depth: 0
- name: Deploy to VPS
2025-10-08 19:17:13 +01:00
run: |
echo "⚡ INFO Installing rsync"
apt-get update && apt-get install -y rsync
2025-10-16 14:17:27 +01:00
echo "⚡ INFO Retrieving SSH key for deploy user"
echo "${{ secrets.VPS_DEPLOY_USER_SSH_KEY }}" > /tmp/ssh_key
chmod 600 /tmp/ssh_key
2025-10-16 14:17:27 +01:00
2025-10-16 14:37:03 +01:00
echo "⚡ INFO Stopping service on VPS"
2025-10-16 14:20:14 +01:00
ssh -i /tmp/ssh_key -o StrictHostKeyChecking=no ${{vars.VPS_DEPLOY_USER}} sudo /usr/bin/systemctl stop eolas-api.service
2025-10-16 14:37:03 +01:00
echo "⚡ INFO Copy updated sourcefile files via rsync"
rsync -avz --delete --inplace --exclude='.env' -e "ssh -i /tmp/ssh_key -o StrictHostKeyChecking=no" ./ ${{ vars.VPS_DEPLOY_USER }}:/var/www/eolas-api/
echo "⚡ INFO Run npm install on VPS"
ssh -i /tmp/ssh_key -o StrictHostKeyChecking=no ${{vars.VPS_DEPLOY_USER}} "bash -l -c 'source ~/.nvm/nvm.sh && cd /var/www/eolas-api && npm install --omit=dev'"
2025-10-16 14:37:03 +01:00
echo "⚡ INFO Restarting service"
2025-10-16 14:50:35 +01:00
ssh -i /tmp/ssh_key -o StrictHostKeyChecking=no ${{vars.VPS_DEPLOY_USER}} "bash -l -c 'sudo /usr/bin/systemctl daemon-reload && sudo /usr/bin/systemctl start eolas-api.service'"
2025-10-16 14:37:03 +01:00
rm /tmp/ssh_key