46 lines
1.0 KiB
YAML
46 lines
1.0 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: Run Database Migrations
|
|
run: |
|
|
cd api
|
|
DATABASE_URL=${{ secrets.DATABASE_URL }} npx prisma migrate deploy
|
|
|
|
- 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/
|
|
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 |