4-х недельный релиз - как его готовить

Правила, которыми мы руководствуемся

  1. Разработка нового функционала ведется в одной ветке - master
  2. Из этой ветки с заданным интервалом выделяется новая ветка - alpha
  3. Интервал создания релиза - раз в месяц.
  4. Дата создания релиза - середина месяца. Может незначительно сдвигаться, но должна соответствовать правилу "до конца месяца не меньше 10 рабочих дней".

Касательно базы, в момент создания новой релизной ветки нужна новая master-clean база.

После создания релиза запускаются несколько процессов:

1-я неделя (5 дней)

  1. Обновление pre-beta (1 день)
  2. Анализ фич которые пойдут в релиз и решение Да/Нет
  3. Тестирование
  4. Документирование релиза
  5. Переводы

2-я неделя (5 дней)

  1. Обновление канала beta (1-2 дня)
  2. Сбор статистики с мониторингов
  3. Багфикс

3-я неделя (5 дней)

  1. Обновление канала pre-stable (1-2 дня)
  2. Сбор статистики с мониторингов
  3. Багфикс

4-я неделя (5 дней)

  1. Обновление канала stable (1-2 дня)
  2. Сбор статистики с мониторингов
  3. Багфикс

Касательно б.д. на работающих проектах

  1. Делается регулярный бэкап
  2. Аккаунт "выключается", пользователям на новый запрос пишется что акк находится на стадии обновления.
  3. Проверяются активные подключения к БД
  4. Ожидается их завершение в течении Х мин
  5. Если соединения остались - лог & кил оставшихся запросов
  6. В трансакции катятся миграции
  7. В случае фейла rollback
  8. Аккаунт включается

08.04.2015 10:38