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

Описание

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

Проблема

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

Решение

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

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


Последнее изменение October 10, 2023: Add ru prefix to links where needed (f788c89)