Портал №1 по управлению цифровыми
и информационными технологиями

Бесплатная экспертная база знаний по управлению ИТ

 
Непрерывная интеграция
 
Интегрированный набор практик и инструментов, используемых для слияния кода разработчиков, сборки и тестирования полученного программного обеспечения и его упаковки так, чтобы оно было готово к развёртыванию.
 
Синонимы
постоянная интеграция, CI/CD, конвейер развёртывания
Answer
Оригинальный английский термин
continuous integration, continuous delivery
Answer
Подробности
Непрерывная интеграция — это дисциплина разработки, при которой изменения кода регулярно и часто объединяются в общий репозиторий и автоматически проходят сборку и проверки качества. В контексте ITSM она важна тем, что снижает риск изменений, повышает предсказуемость релизов и ускоряет восстановление услуги за счёт раннего обнаружения ошибок. На практике непрерывная интеграция обычно реализуется через конвейер, который запускается при каждом коммите или запросе на слияние: выполняет компиляцию, статический анализ, автоматизированные тесты, формирует артефакт (пакет) и публикует его в репозитории артефактов. Это поддерживает управление релизами и управление развёртыванием, так как на выходе получается воспроизводимый, готовый к дальнейшему продвижению пакет. Непрерывная интеграция применима как для приложений, так и для инфраструктуры как кода, и хорошо сочетается с DevOps и Agile, когда требуется частая поставка ценности. Вне её области — фактическое развёртывание в рабочую среду, организационное одобрение изменения через орган управления изменениями, а также эксплуатационный мониторинг, управление инцидентами и управление проблемами; эти активности могут использовать результаты непрерывной интеграции, но не являются её частью.
Answer
Нюансы
Частая ошибка — путать непрерывную интеграцию с непрерывным развёртыванием. Непрерывная интеграция заканчивается получением проверенного артефакта, готового к развёртыванию, но не означает автоматического выпуска в рабочую среду; это уже область управления развёртыванием и, в более широком смысле, управления релизами. Ещё одно заблуждение — считать, что непрерывная интеграция «про инструменты», а не про практики: без культуры малых изменений, единых стандартов ветвления и обязательных автоматизированных тестов конвейер превращается в формальность. На уровне управления изменениями непрерывная интеграция не отменяет контроль: даже при высокой степени автоматизации организация может требовать оценку риска, проверку соответствия требованиям и формальное решение органа управления изменениями для отдельных типов изменения, особенно для экстренного изменения. Также важно не воспринимать «зелёную» сборку как гарантию отсутствия дефектов: тесты проверяют только то, что покрыто сценариями, и не заменяют управление валидацией и тестированием на уровне услуги. Наконец, нередкая ловушка — накапливать «большие» изменения, что увеличивает сложность слияния и вероятность ошибок; цель непрерывной интеграции — уменьшать размер партий и быстро получать цикл обратной связи.
Answer
Примеры
  • Разработчик вносит небольшой коммит; конвейер непрерывной интеграции запускает сборку, прогон модульных тестов и публикует артефакт версии 1.4.12, готовый к развёртыванию
  • При создании запроса на слияние конвейер выполняет статический анализ и проверки безопасности кода; при ошибках слияние блокируется до исправления
  • После изменения инфраструктуры как кода конвейер формирует и тестирует шаблоны, создавая версионированный пакет, который затем может быть использован в управлении развёртыванием
  • Перед релизом команда использует артефакт из непрерывной интеграции для повторяемого развертывания в тестовую среду и выполнения регрессионных тестов
Courses
Рекомендуемые продукты по этой теме
 
 
Что такое непрерывная интеграция в ITIL и ITSM? Смотрите в глоссарии по управлению ИТ, входящим в бесплатную экспертную базу знаний по управлению ИТ от компании Cleverics.