Яндекс Метрика
Статьи

CI/CD и релиз-менеджмент: как мы автоматизировали обновления для себя и клиентов

Современные ИТ-компании, внедряющие практики DevOps, часто сталкиваются с трудностями в управлении CI/CD-конвейерами и релизами ПО: несколько версий продукта, разнородные компоненты, десятки стендов и разные клиенты. Классические подходы к релиз-менеджменту зачастую не выдерживают такой нагрузки, особенно когда требуется параллельно выпускать обновления для внутренних стендов и клиентов с их уникальными конфигурациями.

В этой статье мы расскажем, как автоматизация CI/CD помогла нам превратить сложный, многоступенчатый процесс управления релизами в понятный и управляемый сервис «по кнопке».

Главные вызовы, с которыми мы столкнулись

Множество внутренних стендов
Для тестирования, интеграции и приёмки у нас имеются десятки разнотипных стендов — поддерживать их актуальность вручную крайне сложно.

Клиентские релизы и обновления
Наши заказчики используют различные версии и конфигурации ПО. Отправка каждого обновления — отдельная «история»: необходимо учесть все зависимости, ничего не потерять и не перепутать.

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

Конечно, нужно было радикально снизить нагрузку на тимлидов, разработчиков и DevOps-инженеров, довести все операции до автомата. В теории всё выглядит красиво — а что на практике? Рассказываем.

Портал: цифровой центр релиз-менеджмента

Для решения поставленной задачи мы с помощью DevOps-инженеров разработали внутренний портал.

Портал был задуман как самостоятельное веб-приложение, играющее роль связующего звена между пользователем и системой автоматизации. В его основе — проверенная и мощная инфраструктура Jenkins, где размещены все ключевые процессы и задачи. По сути, портал стал «мостом», который упрощает взаимодействие, превращая сложные CI/CD процессы в удобный и понятный интерфейс для команды.

Как изменились внутренние процессы

Разработанный портал стал ядром управления внутренними стендами и продуктами. Теперь все операции можно выполнить самостоятельно без участия разработчиков.

Как это выглядит?

  • Единый реестр стендов и компонентов. Любой сотрудник видит структуру всех окружений и их состав.
  • Создание или обновление стенда. Новый стенд разворачивается всего лишь за 10-15 минут— причем уже с нужными версиями компонентов.
  • Снятие или накатывание бэкапа баз. Бэкапы и их восстановление теперь осуществляются в один клик через удобный интерфейс.
  • Перезагрузка или обновление сервисов. Все операции стандартизированы и доступны из портала, что помогает снять лишнюю нагрузку с DevOps.

Главная особенность нового портала — возможность самостоятельной работы сотрудников. Чтобы протестировать новый релиз, им не нужно «гоняться» за отдельными специалистами: необходимую операцию можно провести в пару кликов.

Внешние процессы: релизы для клиентов

Автоматизация релизов для клиентов также стала значительно проще.

Формирование и передача релиза автоматизированы - достаточно выбрать клиента, нужную версию в портале — и по нажатию буквально нескольких кнопок корректный образ/пакет для отправки соберётся автоматически. Таким образом, мы исключаем риск человеческой ошибки и необходимость ручной пересборки, что помогает снизить количество ошибок при релизах до 90%.

Логи операций доступны и прозрачны для контроля со стороны менеджмента - теперь вы всегда знаете, какую версию использует тот или иной клиент, а также, когда и кем она была обновлена.

Уведомления

Интеграция портала с корпоративными мессенджерами повышает прозрачность процессов, так как соответствующие уведомления о каждом релизе, запуске, ошибке приходят как внутри команды, так и клиентам.

Итоги

Было
Стало
Разработчики и DevOps-инженеры тратили время на постоянное обновление и создание стендов вручную.
Снижение нагрузки на ключевых специалистов: теперь всё делается самостоятельно и понятно.
Большая часть процессов выполнялась без автоматизации, что замедляло работу и увеличивало количество ошибок.
Минимизация числа ошибок: автоматизация операций исключает ручной фактор.
Информация о стендах хранилась в Excel-файлах и быстро теряла актуальность.
Прозрачность для бизнеса и клиентов: актуальная информация о релизах доступна в любой момент
Добавление новых проектов требовало ручных действий и координации между командами.
Масштабируемость: портал легко расширять под новые требования и проекты.
Цифровой подход к CI/CD и выдаче релизов — ключ к развитию современной ИТ-компании. Мы, работая над обновлениями составляющих продукта Arenadata Harmony MDM, прошли путь от хаотических скриптов и ручных сборок к централизованному и управляемому процессу. Итоги нашей работы убеждают: грамотная автоматизация выгодна и компании, и клиентам.

Статьи