Релизный процесс InDrive
Минималистичная презентация с Mermaid-диаграммами
Илья, Release Engineer
Повестка
- Git Flow и «релиз-трейн»
- Тестирование (Smoke, Beta, Регресс)
- Публикация и раскатка
- Инциденты и хотфиксы
- Автоматизация
Общая схема процесса
flowchart LR
A(Develop) --> B[Release Branch]
B --> C(Смоук-тест)
C --> D(Бета на сотрудниках)
D --> E(Регресс-тест)
E --> F(Отправка в магазины)
F --> G(Постепенная раскатка)
Срезаем ветку, тестируем, выкатываем, мониторим.
Git Flow и Релиз-трейн
flowchart LR
subgraph Main
D(Develop)
M(Master / Prod)
end
F(Feature/*)-->D
D --> R(Release/*) --> M
- Еженедельный «срез» ветки release/*
- Не успел залить в develop до среды — жди следующего релиза
Тестирование (Smoke, Beta, Регресс)
- Смоук-тест: быстрый чек критического функционала
- Бета-тест: выкатка на группу своих сотрудников
- Регресс: полный прогон (авто + ручные тесты)
Публикация и раскатка
- Сборка уходит на ревью (Google Play / App Store)
- Постепенная раскатка по сегментам: 10%, 30%, 50% и т.д.
- Возможность откатить при обнаружении инцидентов
Инциденты и хотфиксы
- Инциденты: блокирующие баги или срочные запросы бизнеса
- Хотфикс: ответвление от продакшена, быстрый фикс
- Постмортемы: ищем корень проблем, делаем выводы
Автоматизация
- Автосоздание релизных тикетов в Jira
- Slack-нотификации о тестах/сборках
- Автоматический rollout и крэш-мониторинг
- Цель — минимум ручных операций, максимум Developer Productivity
Спасибо за внимание!
Вопросы? Буду рад ответить.