#!/bin/bash # Скрипт автоматического обновления сайта PROJECT_DIR="/var/www/radionica3d" echo "==== DEPLOY STARTING: $(date) ====" cd $PROJECT_DIR # 1. Забираем код echo "git pull..." 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 systemctl restart radionica-backend cp /var/www/radionica3d/nginx.conf /etc/nginx/sites-available/radionica3d sudo systemctl reload nginx sudo chown -R www-data:www-data $PROJECT_DIR echo "==== DEPLOY FINISHED: $(date) ===="