Сервисы
Managed IT
Решения
Security
Импортозамещение
Партнерам
О компании

CI/CD

CI/CD (Continuous Integration/Continuous Delivery) — методология разработки программного обеспечения, которая обеспечивает надежность и скорость создания продукта. Относится к одной из типовых DevOps-практик.

Ее основное отличие в том, что тестирование и сборка кода проводится в автоматическом режиме. Такой подход позволяет избежать ошибок на ранних этапах и сводит риски к минимуму.

Принципы работы

CI (Continuous Integration) — непрерывная интеграция. Во время написания кода разработчики постоянно вносят изменения, которые подгружаются в репозиторий. Для автоматического тестирования и проверки используют специализированные сервисы, например, Github, которые создают скрипты. По каждому шагу ведется лог, который фиксирует любые изменения.

CD (Continuous Delivery) — непрерывная доставка. Отвечает за автоматическое развертывание сборки в любом окружении: продакшн, среда тестирования или разработки. Например, после редактирования кода он автоматически помещается в область тестирования.

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

Этапы методологии

Цикл CI/CD условно разбивают на 7 этапов:

  1. Создание. Программисты пишут определенную часть кода, а после тестируют в ручном режиме. Если тест пройден успешно, то части объединяются в единый код и переносятся в рабочую ветку разработки.
  2. Сборка. На втором этапе используют специальное ПО для контроля версия продукта, например, Git. Программа запускает автоматическую сборку с внесенными изменения, а после тестируют полученный код. Критерии успешного прохождения настраиваются в ручном режиме.
  3. Ручной тест. После прохождения автотеста в программном обеспечении продукт отправляется на проверку к команде тестировщиков. Они вручную проверяют написанный код и ищут баги.
  4. Релиз. После успешного окончания третьего этапа код поступает в релиз. Создается рабочая сборка для обновления текущего программного продукта до актуальной версии.
  5. Развертывание. Полученное обновление транслируется на официальных серверах разработчиков для апдейта ПО до последней версии.
  6. Поддержка и мониторинг. Программисты отслеживают отзывы потребителей и готовят список будущих изменений.
  7. Планирование. На последнем этапе создается утвержденный список изменений для следующих версий. По окончании данного шага цикл разработки заканчивается и начинается заново.

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

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

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