🚆 Релизный процесс. Кратко



Релизный процесс — это совокупность действий, которые необходимы для выпуска новой или обновленной версии программного продукта. Релизный процесс может быть разным в зависимости от типа продукта, методологии разработки, организации команды и других факторов.



К артефактам релиза относятся любые продукты, результаты или документы, которые создаются в ходе релизного процесса.



Артефакты релиза можно условно разделить на две категории:



🔹 Релизные объекты – это физические или логические компоненты, которые составляют релиз, например, исходный код, исполняемые файлы, конфигурационные файлы, базы данных и т.д.



🔸 Документация релиза – это документы, которые описывают релиз. Сюда входят: Release Notes (описание того, что изменилось), план релиза протокол тестирования, отчёт о релизе и т.д.



Управление релизами охватывает все этапы от разработки и тестирования до развертывания.



Этапы релиза могут быть разными, но обычно включают в себя следующие:



1️⃣ Планирование релиза. На этом этапе определяются цели, сроки, приоритеты, ресурсы и ограничения релиза. Также формируется документация, в которой фиксируется список функций, задач, ответственных, рисков и критериев качества релиза. План релиза должен быть согласован с заинтересованными сторонами. Новые фичи полезно оборачивать в тоглы – это специальные механизмы, которые позволяют включать или отключать определенные функции или части релиза без необходимости изменять код или перезапускать приложение.



2️⃣ Сборка релиза. На этом этапе происходит создание и упаковка релизных объектов, таких как исходный код, исполняемые файлы, конфигурационные файлы, базы данных и т.д.



3️⃣ Приемочное пользовательское тестирование (UAT). Финальное тестирование, выполняемое перед выпуском в продуктив. После проведения тестирования руководство вместе с разработчиками принимают окончательное решение о выпуске продукта.



4️⃣ Развертывание релиза. На этом этапе код собирается в исполняемый файл или пакет, который может быть развернут на сервере или облачной платформе. Для этого могут использоваться различные инструменты и методы, такие как непрерывная доставка, контейнеризация, автоматизация и т.д. Цель этого этапа — упростить и ускорить процесс развертывания и обеспечить его надежность и безопасность.



5️⃣ Мониторинг и обратная связь. На этом этапе разработчики и операторы отслеживают работу веб-приложения, собирают данные о его производительности, доступности, ошибках и поведении пользователей. Для этого могут использоваться различные инструменты и сервисы, такие как системы логирования, аналитики, оповещения и т.д. Цель этого этапа — улучшить качество и удовлетворенность веб-приложения, а также выявить и исправить возможные проблемы.



📎 Материалы

1. Всë, что вам нужно знать об управлении релизами

2. Релизный цикл ПО для самых маленьких

3. Автоматизация процесса релиза (+ видео)

4. От пул-реквеста до релиза. Доклад Яндекс.Такси

5. Рецепт гладкого релиза: PMy на заметку

6. Управление релизами, когда и зачем нужно?

7. Как мы автоматизировали процесс генерации Release Notes — опыт МТС

8. Чек-лист: что нужно было делать до того, как запускать микросервисы в prod

9. Релизный поезд. Доклад Яндекса



#devops #управление_релизами