code-review-agent/REDEPLOY_UBUNTU_QUICK.md
Primakov Alexandr Alexandrovich 493a14e2c8 Enhance deployment documentation and add redeploy guide
- Updated `README.md` to include instructions for the new `redeploy-ubuntu.sh` script and added a link to the new `REDEPLOY_GUIDE.md`.
- Created `REDEPLOY_GUIDE.md` detailing the redeployment process, including backup creation, code updates, and troubleshooting steps.
- Introduced `redeploy-hint.md` for GitHub Actions automation example, outlining setup for automatic redeployment on push events.
- Improved documentation structure for better navigation and clarity.
2025-10-13 00:15:47 +03:00

4.2 KiB
Raw Permalink Blame History

🚀 Быстрое обновление на Ubuntu

Важно! ⚠️

Скрипт redeploy-ubuntu.sh требует bash, не используйте sh.

Правильный способ запуска:

# Вариант 1: Через bash явно
cd ~/code-review-agent  # или /opt/ai-review
sudo bash redeploy-ubuntu.sh

# Вариант 2: Сделать исполняемым
chmod +x redeploy-ubuntu.sh
sudo ./redeploy-ubuntu.sh

Неправильно:

sudo sh redeploy-ubuntu.sh  # НЕ ИСПОЛЬЗУЙТЕ sh!

🔧 Что исправлено:

  1. Проверка наличия bash
  2. Работа из любой директории проекта (не обязательно /opt/ai-review)
  3. Backup создается в локальной директории ./backups/
  4. Работает без systemd сервиса (для dev окружения)
  5. Не требует интерактивного подтверждения для non-git репозиториев
  6. Более надежная обработка ошибок

📋 Workflow обновления:

1. Подготовка (на локальной машине):

# Внести изменения в код
git add .
git commit -m "Update feature"
git push

2. На сервере:

# Зайти на сервер
ssh user@your-server

# Перейти в директорию проекта
cd ~/code-review-agent  # или где у вас установлен проект

# Обновить код (если git)
git pull

# ИЛИ скопировать новые файлы вручную:
# scp -r ./backend user@server:~/code-review-agent/
# scp -r ./frontend user@server:~/code-review-agent/

# Запустить redeploy
sudo bash redeploy-ubuntu.sh

3. Проверка:

# Проверить статус
systemctl status ai-review

# Или если без systemd:
ps aux | grep uvicorn

# Проверить логи
journalctl -u ai-review -f
# Или:
tail -f nohup.out

🐛 Troubleshooting:

Ошибка: "This script requires bash"

# Используйте bash явно
sudo bash redeploy-ubuntu.sh

Ошибка: Permission denied при создании backup

Это нормально - скрипт создаст backup в локальной директории ./backups/

Ошибка: Service не найден

Это нормально если вы не устанавливали systemd сервис. Скрипт все равно соберет проект.

Frontend не собрался

cd frontend
rm -rf node_modules
npm install
npm run build

Backend зависимости не установились

cd backend
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt

📊 Что делает скрипт:

  1. Останавливает сервис (если установлен в systemd)
  2. Создает backup БД в ./backups/backup-YYYYMMDD-HHMMSS/
  3. Обновляет код через git pull (если это git репозиторий)
  4. Обновляет зависимости backend (Python пакеты)
  5. Применяет миграции БД (создает новые таблицы)
  6. Собирает frontend (React → static files)
  7. Запускает сервис (если установлен в systemd)

🎯 Быстрые команды:

# Полное обновление
cd ~/code-review-agent && git pull && sudo bash redeploy-ubuntu.sh

# Только пересборка (без git pull)
cd ~/code-review-agent && sudo bash redeploy-ubuntu.sh

# Откат к предыдущей версии
cd ~/code-review-agent
sudo systemctl stop ai-review
sudo cp backups/backup-YYYYMMDD-HHMMSS/review.db backend/
git reset --hard HEAD~1
sudo bash redeploy-ubuntu.sh

Готово!

Скрипт теперь работает:

  • С bash (не sh)
  • Из любой директории проекта
  • Без интерактивных вопросов
  • С локальными backups
  • С или без systemd