Было принято решение, что источником сквозной версии релиза будет Jira.
На старте спринта при планировании выделяется версия будущего релиза.
Для каждой задачи, которая идет в работу, проставляется эта версия и изменяемый компонент. Если правки сквозные, то указывается несколько компонентов.
Чтобы упростить работу ответственному за поставку инженеру был написан скрипт и построена система наследуемых пайплайнов.
При запуске скрипт принимает на вход требуемую версию релиза в виде параметра, после чего получает полный список задач и компонентов, входящих в релиз, из API таск трекера.
Далее, для каждого проекта, скрипт через Gitlab API создает мерж реквесты в релизную ветку, проверяет отсутствие конфликтов. Если проблем не найдено - то генерируется и запускается пайплайн сборки.
По итогам сборки всех проектов, при отсутствии проблем, формируется список задач и коммитов, которые используются в релизе, генерируются задачи на деплой.
В назначенное время, ответственный за релиз запускает деплой.
Результатом работ стали:- Прозрачная для команды привязка задач из трекера к коду
- Автоматизированы рутинные процессы по сборке релиза
- Трудозатраты на релиз сокращены с нескольких дней до часа