4-х недельный релиз - как его готовить
Правила, которыми мы руководствуемся
- Разработка нового функционала ведется в одной ветке - master
- Из этой ветки с заданным интервалом выделяется новая ветка - alpha
- Интервал создания релиза - раз в месяц.
- Дата создания релиза - середина месяца. Может незначительно сдвигаться, но должна соответствовать правилу "до конца месяца не меньше 10 рабочих дней".
Касательно базы, в момент создания новой релизной ветки нужна новая master-clean база.
После создания релиза запускаются несколько процессов:
1-я неделя (5 дней)
- Обновление pre-beta (1 день)
- Анализ фич которые пойдут в релиз и решение Да/Нет
- Тестирование
- Документирование релиза
- Переводы
2-я неделя (5 дней)
- Обновление канала beta (1-2 дня)
- Сбор статистики с мониторингов
- Багфикс
3-я неделя (5 дней)
- Обновление канала pre-stable (1-2 дня)
- Сбор статистики с мониторингов
- Багфикс
4-я неделя (5 дней)
- Обновление канала stable (1-2 дня)
- Сбор статистики с мониторингов
- Багфикс
Касательно б.д. на работающих проектах
- Делается регулярный бэкап
- Аккаунт "выключается", пользователям на новый запрос пишется что акк находится на стадии обновления.
- Проверяются активные подключения к БД
- Ожидается их завершение в течении Х мин
- Если соединения остались - лог & кил оставшихся запросов
- В трансакции катятся миграции
- В случае фейла rollback
- Аккаунт включается
08.04.2015 10:38