Add diagnostic and fix script for AI Review Agent
- Introduced `diagnose-and-fix.sh` to automate the diagnosis and repair of the AI Review Agent environment. - Implemented checks for the existence of backend and frontend directories, virtual environment, and required files. - Added functionality to create a new virtual environment, install dependencies, and apply database migrations. - Included user feedback and error handling throughout the script for improved usability and troubleshooting.
This commit is contained in:
parent
89ab6b14fe
commit
607b1e95db
103
diagnose-and-fix.sh
Normal file
103
diagnose-and-fix.sh
Normal file
@ -0,0 +1,103 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "=========================================="
|
||||
echo "AI Review - Диагностика и исправление"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
INSTALL_DIR="$HOME/code-review-agent"
|
||||
|
||||
echo "1. Проверка файлов:"
|
||||
echo " - Backend: $([ -d $INSTALL_DIR/backend ] && echo '✓' || echo '✗')"
|
||||
echo " - Frontend: $([ -d $INSTALL_DIR/frontend ] && echo '✓' || echo '✗')"
|
||||
echo " - venv: $([ -d $INSTALL_DIR/backend/venv ] && echo '✓' || echo '✗ MISSING')"
|
||||
echo " - venv/bin/python: $([ -f $INSTALL_DIR/backend/venv/bin/python ] && echo '✓' || echo '✗ MISSING')"
|
||||
echo " - venv/bin/python3: $([ -f $INSTALL_DIR/backend/venv/bin/python3 ] && echo '✓' || echo '✗ MISSING')"
|
||||
echo " - public: $([ -d $INSTALL_DIR/backend/public ] && echo '✓' || echo '✗ MISSING')"
|
||||
echo " - DB: $([ -f $INSTALL_DIR/backend/review.db ] && echo '✓' || echo '⚠️ будет создана')"
|
||||
echo ""
|
||||
|
||||
# Проверить что именно в venv
|
||||
if [ -d "$INSTALL_DIR/backend/venv" ]; then
|
||||
echo "2. Содержимое venv/bin/:"
|
||||
ls -la "$INSTALL_DIR/backend/venv/bin/" | head -20
|
||||
echo ""
|
||||
fi
|
||||
|
||||
echo "=========================================="
|
||||
echo "Исправление"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
cd "$INSTALL_DIR/backend"
|
||||
|
||||
# Удалить старый venv если есть
|
||||
if [ -d "venv" ]; then
|
||||
echo "Удаление старого venv..."
|
||||
rm -rf venv
|
||||
fi
|
||||
|
||||
# Создать новый venv
|
||||
echo "Создание нового venv..."
|
||||
python3 -m venv venv
|
||||
|
||||
# Проверить создание
|
||||
if [ ! -f "venv/bin/python" ] && [ ! -f "venv/bin/python3" ]; then
|
||||
echo "✗ ОШИБКА: venv не создан правильно!"
|
||||
echo ""
|
||||
echo "Попробуйте:"
|
||||
echo " sudo apt-get install python3-venv"
|
||||
echo " python3 -m venv venv"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✓ venv создан"
|
||||
|
||||
# Активировать и установить зависимости
|
||||
echo "Установка зависимостей..."
|
||||
source venv/bin/activate
|
||||
pip install --upgrade pip > /dev/null
|
||||
pip install -r requirements.txt
|
||||
|
||||
echo "✓ Зависимости установлены"
|
||||
|
||||
# Применить миграции
|
||||
if [ -f "migrate.py" ]; then
|
||||
echo "Применение миграций..."
|
||||
python migrate.py
|
||||
echo "✓ Миграции применены"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "Проверка"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
echo "Попытка запуска (5 секунд)..."
|
||||
timeout 5 python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 2>&1 | head -20 &
|
||||
UVICORN_PID=$!
|
||||
|
||||
sleep 6
|
||||
|
||||
if ps -p $UVICORN_PID > /dev/null 2>&1; then
|
||||
echo "✓ Uvicorn запустился успешно"
|
||||
kill $UVICORN_PID 2>/dev/null
|
||||
else
|
||||
echo "⚠️ Uvicorn остановился (это нормально для теста)"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "Готово!"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "Теперь перезапустите сервис:"
|
||||
echo " sudo systemctl restart ai-review"
|
||||
echo " sudo systemctl status ai-review"
|
||||
echo ""
|
||||
echo "Или запустите вручную для теста:"
|
||||
echo " cd $INSTALL_DIR/backend"
|
||||
echo " source venv/bin/activate"
|
||||
echo " python -m uvicorn app.main:app --host 0.0.0.0 --port 8000"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user