- Improved `redeploy-ubuntu.sh` with additional error handling and user feedback. - Updated `REDEPLOY_GUIDE.md` to clarify the redeployment process and include new troubleshooting tips. - Made structural enhancements to deployment documentation for better accessibility and navigation. - Adjusted `redeploy-hint.md` to align with recent automation changes.
87 lines
2.6 KiB
Bash
87 lines
2.6 KiB
Bash
#!/bin/bash
|
|
|
|
###############################################################################
|
|
# Скрипт быстрого исправления установки
|
|
###############################################################################
|
|
|
|
set -e
|
|
|
|
echo "=========================================="
|
|
echo "Fixing AI Review Installation"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
INSTALL_DIR="$HOME/code-review-agent"
|
|
cd "$INSTALL_DIR"
|
|
|
|
# 1. Создать Python virtual environment
|
|
echo "[1/5] Создание Python virtual environment..."
|
|
cd backend
|
|
python3 -m venv venv
|
|
source venv/bin/activate
|
|
echo "✓ venv создан"
|
|
echo ""
|
|
|
|
# 2. Установить Python зависимости
|
|
echo "[2/5] Установка Python зависимостей..."
|
|
pip install --upgrade pip > /dev/null
|
|
pip install -r requirements.txt > /dev/null
|
|
echo "✓ Python зависимости установлены"
|
|
echo ""
|
|
|
|
# 3. Создать базу данных
|
|
echo "[3/5] Создание базы данных..."
|
|
python migrate.py
|
|
echo "✓ База данных создана"
|
|
echo ""
|
|
|
|
# 4. Установить Node.js зависимости и собрать frontend
|
|
echo "[4/5] Сборка frontend..."
|
|
cd ../frontend
|
|
|
|
# Проверить наличие Node.js
|
|
if ! command -v node &> /dev/null; then
|
|
echo "ERROR: Node.js не установлен!"
|
|
echo "Установите: curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - && sudo apt-get install -y nodejs"
|
|
exit 1
|
|
fi
|
|
|
|
# Создать .env.production
|
|
cat > .env.production << 'EOF'
|
|
VITE_API_URL=/api
|
|
VITE_WS_URL=
|
|
EOF
|
|
|
|
npm install > /dev/null 2>&1
|
|
npm run build
|
|
echo "✓ Frontend собран"
|
|
echo ""
|
|
|
|
# 5. Проверить результат
|
|
echo "[5/5] Проверка..."
|
|
cd ..
|
|
|
|
echo "Backend venv: $([ -d backend/venv ] && echo '✓ OK' || echo '✗ MISSING')"
|
|
echo "Backend DB: $([ -f backend/review.db ] && echo '✓ OK' || echo '✗ MISSING')"
|
|
echo "Frontend build: $([ -d backend/public ] && echo '✓ OK' || echo '✗ MISSING')"
|
|
echo ""
|
|
|
|
if [ -d backend/venv ] && [ -f backend/review.db ] && [ -d backend/public ]; then
|
|
echo "=========================================="
|
|
echo "✓ Installation fixed successfully!"
|
|
echo "=========================================="
|
|
echo ""
|
|
echo "Now run:"
|
|
echo " sudo systemctl restart ai-review"
|
|
echo " sudo systemctl status ai-review"
|
|
echo ""
|
|
echo "Or start manually:"
|
|
echo " cd $INSTALL_DIR/backend"
|
|
echo " source venv/bin/activate"
|
|
echo " uvicorn app.main:app --host 0.0.0.0 --port 8000"
|
|
else
|
|
echo "ERROR: Something is still missing!"
|
|
exit 1
|
|
fi
|
|
|