Что такое модель зрелости непрерывной доставки?

Модели зрелости непрерывной доставки — это схемы, позволяющие оценить успешность развития и внедрения непрерывной интеграции, доставки и развертывания (CI/CD).

Обычно модели зрелости выделяют ряд принципов CI/CD, например организационная культура, процесс развертывания, тестирование и создание отчетов или получение обратной связи. Для каждого принципа модель описывает поведение и методы работы, соответствующие тому или иному уровню зрелости: от начального до максимального.

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

На первых этапах внедрения CI/CD команды обычно выпускают обновления вручную после нескольких недель тестирования, но можно поставить цель регулярно делать релизы в заранее обозначенные дни. Это помогает сосредоточиться на создании надежного и предсказуемого рабочего процесса, а затем дорабатывать и автоматизировать его.

Заложив основу, можно заняться автоматизацией первых этапов пайплайна: расширить охват автоматических тестов, вместе с командами Ops-специалистов готовить препродакшн-окружения.

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

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

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

Модель зрелости непрерывной доставки помогает лучше понять, чего вы хотите добиться с помощью CI/CD, и разработать поэтапный план внедрения различных элементов.

Пошаговое создание пайплайна путем постепенного решения выполнимых задач делает работу более удобной: мы постоянно оцениваем сделанное и учимся на своих ошибках.

Определив, чего вам с командой удалось достичь в реализации отдельных принципов CI/CD, вы поймете, на какие направления следует обратить больше внимания, чтобы подтянуть их, прежде чем переходить к следующему этапу. Наконец, если вы познакомите руководителей компании с моделью зрелости, это поможет установить разумные ожидания и рассказать о преимуществах, которые дает CI/CD даже на первых уровнях.