Автоматизация Release Notes в современной команде разработки

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Делимся своим опытом о том, как мы собираем отчёты по релизам – быстро, корректно и без ручного труда.

Мы в True Engineering начали автоматизировать подготовку Release Notes несколько лет назад. Нашей целью было привести их к единому для всех команд стандарту, избавить тимлидов и PM-ов от ручной работы по подготовке материалов, застраховаться от возможных ошибок, которые обязательно возникают, если что-то делается вручную.

Мы сделали на нашем внутреннем портале веб-конструктор, который позволяет в несколько кликов собрать готовый отчет по релизу. Сервис интегрирован с таск-трекерами, откуда он автоматически подтягивает всю информацию по релизу. На выходе приложение генерирует сверстанный e-mail отчет для заказчика. Вся информация разбита по категориям, у каждого пункта есть ссылка на соответствующую страницу в трекере.

Почему понадобились изменения

Несколько лет инструмент работал в таком виде, но прогресс не стоит на месте. Когда мы стали внедрять Trunk Based Development (TBD), подход к Release Notes тоже пришлось поменять.

Концепция TBD предполагает, что разработка идёт непрерывно, а команда постоянно выпускает обновления микрорелизами. Это ускоряет развитие продукта, сокращает Time-to-Market (время от начала разработки до поставки продукта пользователям), обеспечивает разработчикам оперативную обратную связь от заказчика и пользователей.

Ещё один фактор – за последние годы большинство наших продуктов переехали на микросервисы. Такая архитектура предполагает, что в командах используются несколько репозиториев для каждого участвующего микросервиса. Выпуск одной фичи включает несколько релизов для разных микросервисов, и отслеживать это довольно сложно.

Новая механика

Мы переосмыслили подготовку Release Notes, опираясь на автоматический анализ PBI (Product Backlog Item, условно – цельная задача в терминологии TFS). До этого мы уже наладили автоматическую маркировку задач тегами, чтобы QA-инженеры видели, какие фичи можно забирать на тест. Теперь эти же теги мы используем для Release Notes.

Схема работает на базе TFS Aggregator – этот сервис позволяет автоматизировать многие ручные операции при работе с PBI. Например, он умеет отслеживать, когда последняя задача в PBI получает статус Done, и помечать как готовую всю PBI. Причём Aggregator может очень гибко работать с базой правил – разделять их по проектам, по типам задач и т.д.. В общем, он идеально выполняет рутинную работу, на которую у команды уходит много времени и сил.

Мы написали плагин для Aggregator, который ежедневно просматривает PBI и расставляет теги на задачи, отправленные на prod-окружение. Затем специальный процесс в Camunda по этим тегам собирает данные для письма, которое должны получить менеджеры, директора, отдел продаж. Эта информация поступает в наш Центр уведомлений, который упаковывает всё в аккуратное письмо, свёрстанное по заданному шаблону. Центр уведомлений также позволяет настраивать удобный режим рассылки для разных групп пользователей – раз в день, раз в неделю и т.д. В скором будущем возможность такой тонкой настройки появится и в нашем сервисе Release Notes.

Вот так теперь и выглядит автоматическая подготовка Release Notes. Пилот решения уже стартовал на двух наших проектах, скоро новая механика распространится на все команды True Engineering.

Прелесть в том, что масштабировать этот опыт будет очень просто – достаточно письма в техподдержку, где будет указан тег, который должен ловить Aggregator, и список адресов, куда нужно отправлять Release Notes.

Источник: https://habr.com/ru/post/545178/


Интересные статьи

Интересные статьи

Привет, Хабр! Уже более 5 лет мы используем численное моделирование в качестве метода решения различных инженерных задач: определение параметров технологических процессов, которые ...
Привет, Хабр! Сегодня поговорим на специфическую тему: автоматизация тестирования ПО для терминалов самообслуживания QIWI. В теме автоматизации тестирования есть области, которые исхожены ...
В этом посте будет описана настройка автоматизации HotFix в Maven проектах с использованием Teamcity. Чтобы сделать HotFix обычно делается много ручных действий: 1) Создать бранч для релиза, на...
В нашей компании активно используется платформа для виртуализации VMware vSphere. В ней живут тестовые среды продуктов, демонстрационные стенды, эмуляторы различных инфраструктур заказчиков и...
В первых двух статьях я поднял вопрос автоматизации и набросал её фреймворк, во второй сделал отступление в виртуализацию сети, как первый подход к автоматизации настройки сервисов. А теперь при...