chore: align infrastructure with server

This commit is contained in:
2026-05-02 17:20:14 +05:00
parent e8c924f63a
commit 73c323685f
36 changed files with 785 additions and 540 deletions
+18 -14
View File
@@ -26,7 +26,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '20'
node-version: '22'
- name: Install dependencies
run: npm install
@@ -49,21 +49,25 @@ jobs:
- name: Deploy to server
run: |
apk add --no-cache docker-cli docker-compose
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 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
# Подготовка папок в новой структуре
mkdir -p /root/projects/xflow/.output /root/projects/xflow/prisma /root/projects/xflow/node_modules
cp -r .output/. /root/projects/xflow/.output/
cp -r prisma/. /root/projects/xflow/prisma/
cp -r node_modules/. /root/projects/xflow/node_modules/
cp package.json /root/projects/xflow/package.json
cp prisma.config.ts /root/projects/xflow/prisma.config.ts
# Перезапуск конкретного сервиса в рамках общей инфраструктуры
# Мы используем мастер-файл из корня проектов
docker stop xflow_crm 2>/dev/null || true
docker rm xflow_crm 2>/dev/null || true
docker compose -f /root/projects/docker-compose.yml up -d --no-deps xflow_crm
echo "⏳ Waiting for container to start..."
sleep 5
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 && npx prisma db seed"
echo "✅ XFlow deployed at $(date)"
# Миграции с использованием новой БД xflow_crm_db
docker exec xflow_crm sh -c "cd /app && export DATABASE_URL=postgresql://admin:${POSTGRES_PASSWORD}@xflow_db:5432/xflow_crm_db && npx prisma migrate deploy --config prisma.config.ts && npx prisma db seed"
echo "✅ XFlow CRM deployed at $(date)"
env:
FIREBASE_API_KEY: ${{ secrets.FIREBASE_API_KEY }}
FIREBASE_AUTH_DOMAIN: ${{ secrets.FIREBASE_AUTH_DOMAIN }}