Fix: Stop and remove container before deploy, add node_modules copy

This commit is contained in:
2026-04-28 14:23:36 +05:00
parent e759e9de0a
commit 669d8571ae
+13 -4
View File
@@ -32,7 +32,13 @@ jobs:
run: npm install
- name: Build Nuxt
run: npm run build
run: |
npm run build
npx prisma generate
mkdir -p .output/server/node_modules/@prisma
cp -r node_modules/.prisma .output/server/node_modules/
cp -r node_modules/@prisma/* .output/server/node_modules/@prisma/
cp -r node_modules/pg .output/server/node_modules/
env:
NUXT_PUBLIC_FIREBASE_API_KEY: ${{ secrets.FIREBASE_API_KEY }}
NUXT_PUBLIC_FIREBASE_AUTH_DOMAIN: ${{ secrets.FIREBASE_AUTH_DOMAIN }}
@@ -43,15 +49,18 @@ jobs:
- name: Deploy to server
run: |
apk add --no-cache docker-cli docker-compose
mkdir -p /opt/xflow/.output /opt/xflow/prisma
mkdir -p /opt/xflow/.output /opt/xflow/prisma /opt/xflow/node_modules
cp -r .output/. /opt/xflow/.output/
cp -r prisma/. /opt/xflow/prisma/
cp -r node_modules/. /opt/xflow/node_modules/
cp package.json /opt/xflow/package.json
cp prisma.config.ts /opt/xflow/prisma.config.ts
cp server/docker-compose.yml /opt/xflow/docker-compose.yml
sed -i 's/infra-network/infra/' /opt/xflow/docker-compose.yml
docker compose -f /opt/xflow/docker-compose.yml up -d --no-deps --force-recreate xflow
docker stop xflow 2>/dev/null || true
docker rm xflow 2>/dev/null || true
docker compose -f /opt/xflow/docker-compose.yml up -d --no-deps xflow
echo "⏳ Waiting for container to start..."
sleep 5
docker exec xflow sh -c "cd /app && npm install prisma@7.8.0 @prisma/client@7.8.0 @prisma/adapter-pg pg && npx prisma generate && export DATABASE_URL=postgresql://xflow:xflow_pass@postgres:5432/xflow && npx prisma migrate deploy --config prisma.config.ts"
docker exec xflow sh -c "cd /app && export DATABASE_URL=postgresql://xflow:xflow_pass@postgres:5432/xflow && npx prisma migrate deploy --config prisma.config.ts"
echo "✅ XFlow deployed at $(date)"