368 lines
6.5 KiB
Markdown
368 lines
6.5 KiB
Markdown
# Полезные команды
|
||
|
||
## Backend
|
||
|
||
### Разработка
|
||
|
||
```bash
|
||
cd backend
|
||
|
||
# Активация venv
|
||
source venv/bin/activate # Linux/Mac
|
||
venv\Scripts\activate # Windows
|
||
|
||
# Установка зависимостей
|
||
pip install -r requirements.txt
|
||
|
||
# Запуск сервера
|
||
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
|
||
|
||
# Или используйте скрипт
|
||
./start.sh # Linux/Mac
|
||
start.bat # Windows
|
||
```
|
||
|
||
### База данных
|
||
|
||
```bash
|
||
# Создание миграции (если используется Alembic)
|
||
alembic revision --autogenerate -m "description"
|
||
|
||
# Применение миграций
|
||
alembic upgrade head
|
||
|
||
# Откат миграции
|
||
alembic downgrade -1
|
||
|
||
# Удаление базы
|
||
rm review.db
|
||
```
|
||
|
||
### Тестирование API
|
||
|
||
```bash
|
||
# Health check
|
||
curl http://localhost:8000/health
|
||
|
||
# Список репозиториев
|
||
curl http://localhost:8000/api/repositories
|
||
|
||
# Создание репозитория
|
||
curl -X POST http://localhost:8000/api/repositories \
|
||
-H "Content-Type: application/json" \
|
||
-d '{
|
||
"name": "test-repo",
|
||
"platform": "gitea",
|
||
"url": "https://git.example.com/owner/repo",
|
||
"api_token": "your-token"
|
||
}'
|
||
|
||
# Список ревью
|
||
curl http://localhost:8000/api/reviews
|
||
|
||
# Статистика
|
||
curl http://localhost:8000/api/reviews/stats/dashboard
|
||
```
|
||
|
||
## Frontend
|
||
|
||
### Разработка
|
||
|
||
```bash
|
||
cd frontend
|
||
|
||
# Установка зависимостей
|
||
npm install
|
||
|
||
# Запуск dev сервера
|
||
npm run dev
|
||
|
||
# Или используйте скрипт
|
||
./start.sh # Linux/Mac
|
||
start.bat # Windows
|
||
|
||
# Сборка
|
||
npm run build
|
||
|
||
# Предпросмотр сборки
|
||
npm run preview
|
||
```
|
||
|
||
### Линтинг и проверка
|
||
|
||
```bash
|
||
# ESLint
|
||
npm run lint
|
||
|
||
# TypeScript проверка
|
||
npx tsc --noEmit
|
||
|
||
# Форматирование (если используется Prettier)
|
||
npx prettier --write src/
|
||
```
|
||
|
||
## Ollama
|
||
|
||
### Управление моделями
|
||
|
||
```bash
|
||
# Список моделей
|
||
ollama list
|
||
|
||
# Загрузка модели
|
||
ollama pull codellama
|
||
ollama pull llama3
|
||
|
||
# Удаление модели
|
||
ollama rm codellama
|
||
|
||
# Информация о модели
|
||
ollama show codellama
|
||
|
||
# Запуск сервера
|
||
ollama serve
|
||
```
|
||
|
||
### Тестирование модели
|
||
|
||
```bash
|
||
# Интерактивный режим
|
||
ollama run codellama
|
||
|
||
# Одиночный запрос
|
||
ollama run codellama "Review this code: def add(a, b): return a + b"
|
||
```
|
||
|
||
## Docker (если будет добавлен)
|
||
|
||
```bash
|
||
# Сборка
|
||
docker-compose build
|
||
|
||
# Запуск
|
||
docker-compose up -d
|
||
|
||
# Остановка
|
||
docker-compose down
|
||
|
||
# Просмотр логов
|
||
docker-compose logs -f backend
|
||
docker-compose logs -f frontend
|
||
|
||
# Перезапуск
|
||
docker-compose restart
|
||
```
|
||
|
||
## Git
|
||
|
||
```bash
|
||
# Клонирование
|
||
git clone <repo-url>
|
||
cd platform/review
|
||
|
||
# Создание feature branch
|
||
git checkout -b feature/my-feature
|
||
|
||
# Коммит изменений
|
||
git add .
|
||
git commit -m "feat: Add new feature"
|
||
|
||
# Push
|
||
git push origin feature/my-feature
|
||
|
||
# Обновление из main
|
||
git checkout main
|
||
git pull
|
||
git checkout feature/my-feature
|
||
git merge main
|
||
```
|
||
|
||
## Мониторинг
|
||
|
||
### Логи
|
||
|
||
```bash
|
||
# Backend логи (если настроены)
|
||
tail -f logs/app.log
|
||
|
||
# Логи Ollama
|
||
journalctl -u ollama -f
|
||
|
||
# Системные логи
|
||
dmesg | tail
|
||
```
|
||
|
||
### Процессы
|
||
|
||
```bash
|
||
# Проверка запущенных процессов
|
||
ps aux | grep uvicorn
|
||
ps aux | grep ollama
|
||
|
||
# Проверка портов
|
||
lsof -i :8000
|
||
lsof -i :5173
|
||
lsof -i :11434
|
||
|
||
# На Windows
|
||
netstat -ano | findstr :8000
|
||
```
|
||
|
||
### Ресурсы
|
||
|
||
```bash
|
||
# CPU и память
|
||
top
|
||
htop
|
||
|
||
# Диск
|
||
df -h
|
||
du -sh *
|
||
|
||
# На Windows
|
||
taskmgr
|
||
```
|
||
|
||
## Troubleshooting
|
||
|
||
### Backend не запускается
|
||
|
||
```bash
|
||
# Проверка Python
|
||
python --version # должен быть 3.11+
|
||
|
||
# Проверка зависимостей
|
||
pip list
|
||
|
||
# Переустановка зависимостей
|
||
pip install --force-reinstall -r requirements.txt
|
||
|
||
# Проверка .env
|
||
cat .env
|
||
|
||
# Проверка портов
|
||
lsof -i :8000
|
||
```
|
||
|
||
### Ollama проблемы
|
||
|
||
```bash
|
||
# Проверка статуса
|
||
ollama list
|
||
|
||
# Проверка сервера
|
||
curl http://localhost:11434/api/tags
|
||
|
||
# Перезапуск
|
||
pkill ollama
|
||
ollama serve
|
||
|
||
# На Windows
|
||
taskkill /IM ollama.exe /F
|
||
ollama serve
|
||
```
|
||
|
||
### Frontend не загружается
|
||
|
||
```bash
|
||
# Очистка кеша
|
||
rm -rf node_modules .vite
|
||
npm install
|
||
|
||
# Проверка backend
|
||
curl http://localhost:8000/health
|
||
|
||
# Проверка proxy в vite.config.ts
|
||
cat vite.config.ts
|
||
```
|
||
|
||
### База данных
|
||
|
||
```bash
|
||
# Просмотр таблиц
|
||
sqlite3 review.db ".tables"
|
||
|
||
# Просмотр данных
|
||
sqlite3 review.db "SELECT * FROM repositories;"
|
||
|
||
# Сброс базы
|
||
rm review.db
|
||
# Перезапустите backend для пересоздания
|
||
```
|
||
|
||
## Production
|
||
|
||
### Запуск как сервис (systemd)
|
||
|
||
```bash
|
||
# Создайте файл /etc/systemd/system/ai-review.service
|
||
sudo nano /etc/systemd/system/ai-review.service
|
||
|
||
# Пример содержимого:
|
||
[Unit]
|
||
Description=AI Review Backend
|
||
After=network.target
|
||
|
||
[Service]
|
||
Type=simple
|
||
User=your-user
|
||
WorkingDirectory=/path/to/backend
|
||
Environment="PATH=/path/to/venv/bin"
|
||
ExecStart=/path/to/venv/bin/uvicorn app.main:app --host 0.0.0.0 --port 8000
|
||
Restart=always
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
|
||
# Включение и запуск
|
||
sudo systemctl enable ai-review
|
||
sudo systemctl start ai-review
|
||
sudo systemctl status ai-review
|
||
```
|
||
|
||
### Nginx reverse proxy
|
||
|
||
```nginx
|
||
server {
|
||
listen 80;
|
||
server_name your-domain.com;
|
||
|
||
location /api {
|
||
proxy_pass http://localhost:8000;
|
||
proxy_set_header Host $host;
|
||
proxy_set_header X-Real-IP $remote_addr;
|
||
}
|
||
|
||
location /ws {
|
||
proxy_pass http://localhost:8000;
|
||
proxy_http_version 1.1;
|
||
proxy_set_header Upgrade $http_upgrade;
|
||
proxy_set_header Connection "upgrade";
|
||
}
|
||
|
||
location / {
|
||
root /path/to/frontend/dist;
|
||
try_files $uri /index.html;
|
||
}
|
||
}
|
||
```
|
||
|
||
## Полезные алиасы
|
||
|
||
Добавьте в `.bashrc` или `.zshrc`:
|
||
|
||
```bash
|
||
# Backend
|
||
alias review-backend='cd ~/platform/review/backend && source venv/bin/activate && uvicorn app.main:app --reload'
|
||
|
||
# Frontend
|
||
alias review-frontend='cd ~/platform/review/frontend && npm run dev'
|
||
|
||
# Ollama
|
||
alias review-ollama='ollama serve'
|
||
|
||
# Логи
|
||
alias review-logs='tail -f ~/platform/review/backend/logs/app.log'
|
||
```
|
||
|