49 lines
1.1 KiB
YAML
49 lines
1.1 KiB
YAML
name: Deploy
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: vps-host
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Build API
|
|
run: |
|
|
cd api
|
|
npm ci
|
|
npx prisma generate
|
|
npm run build
|
|
|
|
- name: Build Web
|
|
run: |
|
|
cd web
|
|
npm ci
|
|
npm run build
|
|
|
|
- name: Deploy API
|
|
run: |
|
|
pm2 stop skymoney-api || true
|
|
rm -rf /opt/skymoney/api/dist /opt/skymoney/api/node_modules
|
|
cp -r api/dist /opt/skymoney/api/
|
|
cp -r api/node_modules /opt/skymoney/api/
|
|
cp -r api/prisma /opt/skymoney/api/
|
|
|
|
# Run migrations using the VPS .env
|
|
cd /opt/skymoney/api
|
|
set -a
|
|
source .env
|
|
set +a
|
|
npx prisma migrate deploy
|
|
|
|
pm2 start /opt/skymoney/api/dist/server.js --name skymoney-api
|
|
|
|
- name: Deploy Web
|
|
run: |
|
|
rm -rf /var/www/skymoney/dist/*
|
|
cp -r web/dist/* /var/www/skymoney/dist/
|
|
|
|
- name: Reload Nginx
|
|
run: sudo systemctl reload nginx |