#!/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 # Keep old assets briefly to prevent 404 for existing sessions echo "preserving old assets..." mkdir -p dist/assets rm -rf /tmp/radionica_assets_backup cp -r dist/assets /tmp/radionica_assets_backup || true bash build_frontend.sh # Restore old assets (no-clobber, don't overwrite new files) echo "restoring old assets for compatibility..." cp -n /tmp/radionica_assets_backup/* dist/assets/ 2>/dev/null || true # 3. Обновляем бэкенд echo "updating backend..." ./backend/venv/bin/pip install -r backend/requirements.txt # 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) ===="