| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #!/bin/bash
- # Скрипт автоматического обновления сайта
- PROJECT_DIR="/var/www/radionica3d"
- echo "==== DEPLOY STARTING: $(date) ===="
- cd $PROJECT_DIR
- # 1. Забираем код
- echo "git pull..."
- git checkout package-lock.json # Force clean lockfile to avoid conflicts
- git pull origin master
- # 2. Собираем фронтенд
- echo "building frontend..."
- npm install --legacy-peer-deps
- # 2. Собираем фронтенд
- echo "building frontend..."
- rm -rf dist/ # Clean old build
- npm install --legacy-peer-deps
- bash build_frontend.sh
- # 3. Обновляем бэкенд
- echo "updating backend..."
- ./backend/venv/bin/pip install -r backend/requirements.txt
- echo "running database migrations..."
- # Create backup before migrating
- mkdir -p backups
- echo "Backing up database to backups/ folder..."
- # If you use a .env file for DB credentials, source it here:
- # [ -f .env ] && export $(grep -v '^#' .env | xargs)
- mysqldump --no-tablespaces -h ${DB_HOST:-localhost} -u ${DB_USER:-radionica} -p${DB_PASS:-NY9B9VLifDC9ehZ} ${DB_NAME:-radionica3d} > backups/db_pre_migration_$(date +%Y%m%d_%H%M%S).sql
- ./backend/venv/bin/python3 backend/run_migrations.py
- # 4. Перезапуск
- echo "restarting services..."
- sudo chown -R www-data:www-data $PROJECT_DIR
- sudo systemctl restart radionica-backend
- cp /var/www/radionica3d/nginx.conf /etc/nginx/sites-available/radionica3d
- sudo systemctl reload nginx
- echo "==== DEPLOY FINISHED: $(date) ===="
|