Этот вопрос проверяет понимание различий между непрерывной интеграцией и непрерывной доставкой.
Continuous Integration (CI) проверяет и тестирует код перед объединением с основной веткой. Continuous Delivery (CD) идёт дальше и автоматически подготавливает код к развертыванию в продакшн.
Основные отличия:
Continuous Integration (CI):
Разработчики часто коммитят код в репозиторий.
Автоматическое тестирование запускается после каждого изменения.
Уменьшает вероятность ошибок за счёт ранней проверки кода.
Continuous Delivery (CD):
Код автоматически собирается и разворачивается на тестовом сервере.
Подготавливает код для быстрого деплоя в продакшн.
Разработчики могут развернуть ПО в любое время без дополнительных изменений.
Пример работы CI/CD:
Разработчик делает коммит в GitHub.
CI-система запускает тесты и проверяет код.
Если тесты пройдены, CD-система деплоит код на staging.
После финального тестирования код вручную или автоматически переносится в продакшн.
CI гарантирует, что код всегда работает корректно, а CD обеспечивает его готовность к развертыванию.