Fix: Stop and remove container before deploy, add node_modules copy
This commit is contained in:
@@ -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)"
|
||||
|
||||
Reference in New Issue
Block a user