server_update.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/bin/bash
  2. # Скрипт автоматического обновления сайта
  3. PROJECT_DIR="/var/www/radionica3d"
  4. echo "==== DEPLOY STARTING: $(date) ===="
  5. cd $PROJECT_DIR
  6. # 1. Забираем код
  7. echo "git pull..."
  8. git checkout package-lock.json # Force clean lockfile to avoid conflicts
  9. git pull origin master
  10. # 2. Обновляем зависимости
  11. echo "installing dependencies..."
  12. npm install --legacy-peer-deps
  13. # 3. Синхронизируем переводы
  14. echo "merging translations..."
  15. npm run i18n:merge
  16. # 4. Собираем фронтенд
  17. echo "building frontend..."
  18. rm -rf dist/ # Clean old build
  19. npm run build
  20. # 5. Обновляем бэкенд
  21. echo "updating backend..."
  22. ./backend/venv/bin/pip install -r backend/requirements.txt
  23. echo "running database migrations..."
  24. mkdir -p backups
  25. 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
  26. ./backend/venv/bin/python3 backend/run_migrations.py
  27. # 6. Перезапуск
  28. echo "restarting services..."
  29. sudo chown -R www-data:www-data $PROJECT_DIR
  30. sudo systemctl restart radionica-backend
  31. cp /var/www/radionica3d/nginx.conf /etc/nginx/sites-available/radionica3d
  32. sudo systemctl reload nginx
  33. echo "==== DEPLOY FINISHED: $(date) ===="