Some checks failed
CI/CD — Build & Deploy / Build & Deploy (push) Has been cancelled
Remplace le flow Docker (docker compose up) par le vrai modèle : - Job unique sur vps-runner (runner local sur le VPS) - Build backend → rsync vers /var/www/originsdigital/backend/ → pm2 restart - Build frontend avec VITE_API_URL/VITE_SUPEROAUTH_URL → rsync vers /var/www/originsdigital/frontend/dist/ - Suppression appleboy/ssh-action (inutile, le runner est sur le VPS)
57 lines
2.0 KiB
YAML
57 lines
2.0 KiB
YAML
name: CI/CD — Build & Deploy
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
build-and-deploy:
|
|
name: Build & Deploy
|
|
runs-on: vps-runner
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 22
|
|
cache: npm
|
|
cache-dependency-path: |
|
|
backend/package-lock.json
|
|
frontend/package-lock.json
|
|
|
|
# ── Backend ──────────────────────────────────────────────────────────────
|
|
- name: Install & build backend
|
|
working-directory: backend
|
|
run: |
|
|
npm ci
|
|
npm run build
|
|
|
|
- name: Deploy backend
|
|
run: |
|
|
mkdir -p /var/www/originsdigital/backend
|
|
rsync -a --delete backend/dist/ /var/www/originsdigital/backend/dist/
|
|
rsync -a backend/package.json backend/package-lock.json /var/www/originsdigital/backend/
|
|
cd /var/www/originsdigital/backend && npm ci --omit=dev
|
|
|
|
- name: Restart pm2
|
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
|
run: pm2 restart originsdigital-backend || pm2 start /var/www/originsdigital/backend/dist/index.js --name originsdigital-backend
|
|
|
|
# ── Frontend ─────────────────────────────────────────────────────────────
|
|
- name: Install & build frontend
|
|
working-directory: frontend
|
|
env:
|
|
VITE_API_URL: ${{ secrets.VITE_API_URL }}
|
|
VITE_SUPEROAUTH_URL: ${{ secrets.VITE_SUPEROAUTH_URL }}
|
|
run: |
|
|
npm ci
|
|
npm run build
|
|
|
|
- name: Deploy frontend
|
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
|
run: |
|
|
mkdir -p /var/www/originsdigital/frontend/dist
|
|
rsync -a --delete frontend/dist/ /var/www/originsdigital/frontend/dist/
|