65 lines
1.4 KiB
Markdown
65 lines
1.4 KiB
Markdown
# Runbook: Обновление
|
|
|
|
## Стандартное обновление
|
|
|
|
```bash
|
|
# 1. Забрать новую версию
|
|
cd /opt/voidea
|
|
git pull origin main
|
|
|
|
# 2. Активировать виртуальное окружение
|
|
source venv/bin/activate
|
|
|
|
# 3. Обновить зависимости
|
|
pip install -r requirements.txt
|
|
|
|
# 4. Применить миграции БД
|
|
alembic upgrade head
|
|
|
|
# 5. Перезапустить сервис
|
|
systemctl restart voidea
|
|
|
|
# 6. Проверить health
|
|
curl http://localhost:8020/api/v1/health
|
|
```
|
|
|
|
## Обновление с минимальным даунтаймом
|
|
|
|
```bash
|
|
# 1. Запустить второй инстанс на другом порту
|
|
DATABASE_URL=... uvicorn app.main:app --port 8021 &
|
|
|
|
# 2. Проверить его health
|
|
curl http://localhost:8021/health
|
|
|
|
# 3. Переключить systemd или Nginx на новый порт
|
|
# 4. Остановить старый
|
|
```
|
|
|
|
## Откат
|
|
|
|
```bash
|
|
# 1. Откатить код
|
|
cd /opt/voidea
|
|
git revert HEAD
|
|
|
|
# 2. Откатить БД (если была миграция)
|
|
alembic downgrade -1
|
|
|
|
# 3. Перезапустить
|
|
systemctl restart voidea
|
|
```
|
|
|
|
## Миграция БД
|
|
|
|
```bash
|
|
# Сгенерировать новую миграцию
|
|
alembic revision --autogenerate -m "description"
|
|
|
|
# Применить
|
|
alembic upgrade head
|
|
|
|
# Откатить
|
|
alembic downgrade -1
|
|
```
|