---
# System prepended metadata

title: Релизная политика

---

# Релизная политика

## Время

Пн-Чт: желательно до 12:00 (мск), но в случае блокеров или других обстоятельств может быть и позже
Пт: обязательно до 12:00 (мск). 
Некоторые релизы требуют времени для выкладки (например, миграции выполняются достаточно долго). В таком случае релиз может быть перенесен на "технологическое окно", выбранное заранее в менее нагруженное время работы системы.

## Порядок релиза

Для каждой задачи в релизе:
Найти **Merge Request** задачи (все, если их несколько)
Проверить аппрувы (должно быть минимум 2) и target-ветку (должна соответствовать родительской задаче)
Сделать Merge, удалить исходную ветку
Запустить pipeline для выкладки на production, проверить его результаты
Подвинуть задачу в следующий статус кнопкой "Вылито" и оставить соответствующий комментарий

## Зависимости задач

Для каждой задачи необходимо понимать откуда её выводить в начале работы и куда ее вливать в конце. По умолчанию это `master`-ветка, но в случае зависимых задач могут быть исключения. Про них и поговорим.

Для этого вводим понятие "**Родитель**" задачи. Это локальный `master` для задачи. **Родитель** может быть либо один, либо отсутвовать. 

Если **Родитель** отсутствует, то действуем как обычно - ответвляемся от `master`-ветки и MR делаем туда же.

**Родителем** задачи считаем открытую задачу (статусы от **Открыта** до **Готово к релизу**) из блока связанных задач "**Зависит от**".

Если таких задач больше одной, то стоит уточнить связи задачи до начала работы. Так как в таком случае есть неопределенность при выводе задачи или мерже ее обратно, то останавливаем работу над ней *до устранения неопределенности*.