Современные ИТ-компании, внедряющие практики DevOps, часто сталкиваются с трудностями в управлении CI/CD-конвейерами и релизами ПО: несколько версий продукта, разнородные компоненты, десятки стендов и разные клиенты. Классические подходы к релиз-менеджменту зачастую не выдерживают такой нагрузки, особенно когда требуется параллельно выпускать обновления для внутренних стендов и клиентов с их уникальными конфигурациями.
В этой статье мы расскажем, как автоматизация CI/CD помогла нам превратить сложный, многоступенчатый процесс управления релизами в понятный и управляемый сервис «по кнопке».
В этой статье мы расскажем, как автоматизация CI/CD помогла нам превратить сложный, многоступенчатый процесс управления релизами в понятный и управляемый сервис «по кнопке».
Главные вызовы, с которыми мы столкнулись
Множество внутренних стендов
Для тестирования, интеграции и приёмки у нас имеются десятки разнотипных стендов — поддерживать их актуальность вручную крайне сложно.
Клиентские релизы и обновления
Наши заказчики используют различные версии и конфигурации ПО. Отправка каждого обновления — отдельная «история»: необходимо учесть все зависимости, ничего не потерять и не перепутать.
Обновление конфигураций
Помимо типовых обновлений ПО, нам часто приходится менять сопутствующие параметры, базы данных, доступы, сервисы.
Конечно, нужно было радикально снизить нагрузку на тимлидов, разработчиков и DevOps-инженеров, довести все операции до автомата. В теории всё выглядит красиво — а что на практике? Рассказываем.
Для тестирования, интеграции и приёмки у нас имеются десятки разнотипных стендов — поддерживать их актуальность вручную крайне сложно.
Клиентские релизы и обновления
Наши заказчики используют различные версии и конфигурации ПО. Отправка каждого обновления — отдельная «история»: необходимо учесть все зависимости, ничего не потерять и не перепутать.
Обновление конфигураций
Помимо типовых обновлений ПО, нам часто приходится менять сопутствующие параметры, базы данных, доступы, сервисы.
Конечно, нужно было радикально снизить нагрузку на тимлидов, разработчиков и DevOps-инженеров, довести все операции до автомата. В теории всё выглядит красиво — а что на практике? Рассказываем.
Портал: цифровой центр релиз-менеджмента
Для решения поставленной задачи мы с помощью DevOps-инженеров разработали внутренний портал.
Портал был задуман как самостоятельное веб-приложение, играющее роль связующего звена между пользователем и системой автоматизации. В его основе — проверенная и мощная инфраструктура Jenkins, где размещены все ключевые процессы и задачи. По сути, портал стал «мостом», который упрощает взаимодействие, превращая сложные CI/CD процессы в удобный и понятный интерфейс для команды.
Портал был задуман как самостоятельное веб-приложение, играющее роль связующего звена между пользователем и системой автоматизации. В его основе — проверенная и мощная инфраструктура Jenkins, где размещены все ключевые процессы и задачи. По сути, портал стал «мостом», который упрощает взаимодействие, превращая сложные CI/CD процессы в удобный и понятный интерфейс для команды.
Как изменились внутренние процессы
Разработанный портал стал ядром управления внутренними стендами и продуктами. Теперь все операции можно выполнить самостоятельно без участия разработчиков.
Как это выглядит?
Главная особенность нового портала — возможность самостоятельной работы сотрудников. Чтобы протестировать новый релиз, им не нужно «гоняться» за отдельными специалистами: необходимую операцию можно провести в пару кликов.
Как это выглядит?
- Единый реестр стендов и компонентов. Любой сотрудник видит структуру всех окружений и их состав.
- Создание или обновление стенда. Новый стенд разворачивается всего лишь за 10-15 минут— причем уже с нужными версиями компонентов.
- Снятие или накатывание бэкапа баз. Бэкапы и их восстановление теперь осуществляются в один клик через удобный интерфейс.
- Перезагрузка или обновление сервисов. Все операции стандартизированы и доступны из портала, что помогает снять лишнюю нагрузку с DevOps.
Главная особенность нового портала — возможность самостоятельной работы сотрудников. Чтобы протестировать новый релиз, им не нужно «гоняться» за отдельными специалистами: необходимую операцию можно провести в пару кликов.
Внешние процессы: релизы для клиентов
Автоматизация релизов для клиентов также стала значительно проще.
Формирование и передача релиза автоматизированы - достаточно выбрать клиента, нужную версию в портале — и по нажатию буквально нескольких кнопок корректный образ/пакет для отправки соберётся автоматически. Таким образом, мы исключаем риск человеческой ошибки и необходимость ручной пересборки, что помогает снизить количество ошибок при релизах до 90%.
Логи операций доступны и прозрачны для контроля со стороны менеджмента - теперь вы всегда знаете, какую версию использует тот или иной клиент, а также, когда и кем она была обновлена.
Формирование и передача релиза автоматизированы - достаточно выбрать клиента, нужную версию в портале — и по нажатию буквально нескольких кнопок корректный образ/пакет для отправки соберётся автоматически. Таким образом, мы исключаем риск человеческой ошибки и необходимость ручной пересборки, что помогает снизить количество ошибок при релизах до 90%.
Логи операций доступны и прозрачны для контроля со стороны менеджмента - теперь вы всегда знаете, какую версию использует тот или иной клиент, а также, когда и кем она была обновлена.
Уведомления
Интеграция портала с корпоративными мессенджерами повышает прозрачность процессов, так как соответствующие уведомления о каждом релизе, запуске, ошибке приходят как внутри команды, так и клиентам.
Итоги
Цифровой подход к CI/CD и выдаче релизов — ключ к развитию современной ИТ-компании. Мы, работая над обновлениями составляющих продукта Arenadata Harmony MDM, прошли путь от хаотических скриптов и ручных сборок к централизованному и управляемому процессу. Итоги нашей работы убеждают: грамотная автоматизация выгодна и компании, и клиентам.