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

Непрерывная доставка позволяет разработчикам не только автоматизировать тестирование на уровне модулей, но и выполнять разноплановую проверку обновлений приложений перед тем, как развертывать их для конечных пользователей. Такое тестирование может включать тестирование пользовательского интерфейса, загрузки, интеграции, надежности API и т. д. Все это позволяет разработчикам тщательнее проверять обновления и заблаговременно выявлять возможные проблемы. В отличие от устаревших локальных решений, облачная среда позволяет легко и экономично автоматизировать создание и репликацию нескольких сред тестирования.

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

Непрерывная интеграция и непрерывная доставка

Непрерывная доставка автоматизирует весь процесс выпуска ПО. Каждое подтверждение записи версии запускает автоматический процесс сборки, тестирования и размещения обновления. Окончательное решение о развертывании в реальной рабочей среде инициируется разработчиком.


Автоматизация процесса выпуска ПО

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

Более продуктивная разработка

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

Заблаговременное обнаружение и устранение ошибок

За счет более частого и полного тестирования ваша команда сможет выявлять и устранять ошибки заранее, до того, как они перерастут в серьезные проблемы. Непрерывная доставка позволяет упростить дополнительное тестирование вашего кода за счет автоматизации всего процесса.

Быстрая доставка обновлений

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

Подробнее о непрерывной доставке, ее преимуществах и внедрении с помощью сервисов AWS CodePipeline и AWS CodeBuild см. в наших видеоматериалах.

Непрерывную доставку на платформе AWS можно реализовать несколькими способами.

Реализуйте непрерывную доставку с помощью сервиса AWS CodePipeline, позволяющего создать рабочий поток, который осуществляет сборку кода в AWS CodeBuild и автоматически выполняет тестирование и развертывание кода. Попробуйте CodePipeline, следуя указаниям нашего учебного пособия.