Непрерывная доставка (CD)

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

Какую проблему решает

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

Как именно решает проблему

Стратегии CD позволяют выстроить полностью автоматизированный путь до стадии production, в рамках которого ПО тестируется и развертывается с использованием различных методов развертывания, таких как канареечные или сине-зеленые релизы. Это позволяет разработчикам развертывать код с высокой частотой и быть уверенными в том, что новая ревизия прошла все этапы тестирование. Как правило, в стратегиях CD используется trunk-based-разработка, при которой в основную ветку постоянно вносятся небольшие изменения кода (в отличие от запросов на слияние (pull requests) и фич-веток (feature branching)).

Связанные термины


Последнее изменение December 26, 2023: Review initial Russian content (8c3a264)