Непрерывная доставка – это практика разработки программного обеспечения, когда при любых изменениях в программном коде выполняется автоматическая сборка, тестирование и подготовка к окончательному выпуску. Непрерывная доставка является одним из основополагающих принципов разработки современных приложений, поскольку расширяет практику непрерывной интеграции за счет того, что все изменения кода после стадии сборки развертываются в тестовой и/или в рабочей среде. При правильном внедрении у разработчиков всегда будет готовый к развертыванию собранный экземпляр ПО, прошедший стандартизированную процедуру тестирования.
Непрерывная доставка позволяет разработчикам не только автоматизировать тестирование на уровне модулей, но и выполнять разноплановую проверку обновлений приложений перед тем, как развертывать их для конечных пользователей. Такое тестирование может включать тестирование пользовательского интерфейса, загрузки, интеграции, надежности API и т. д. Все это позволяет разработчикам тщательнее проверять обновления и заблаговременно выявлять возможные проблемы. В отличие от устаревших локальных решений, облачная среда позволяет легко и экономично автоматизировать создание и репликацию нескольких сред тестирования.
При непрерывной доставке каждое изменение программного кода проходит сборку, тестируется и затем отправляется в подготовительную (тестовую или имитационную) среду. Перед развертыванием в рабочей среде можно использовать несколько параллельных стадий тестирования. Отличие непрерывной доставки от непрерывного развертывания заключается в том, что при непрерывной доставке для развертывания обновлений в рабочей среде требуется подтверждение вручную. При непрерывном развертывании это происходит автоматически без специального подтверждения.
![Непрерывная интеграция и непрерывная доставка Непрерывная интеграция и непрерывная доставка](https://d1.awsstatic.com/product-marketing/DevOps/continuous_delivery.4f4cddb8556e2b1a0ca0872ace4d5fe2f68bbc58.png)
Непрерывная доставка автоматизирует весь процесс выпуска ПО. Каждое подтверждение записи версии запускает автоматический процесс сборки, тестирования и размещения обновления. Окончательное решение о развертывании в реальной рабочей среде инициируется разработчиком.
![Автоматизация процесса выпуска ПО Автоматизация процесса выпуска ПО](https://d1.awsstatic.com/product-marketing/DevOps/CICD_automate-release.06a38e2a6d9e866ffb50ddb3168e6d9976c2ddf5.png)
Непрерывная доставка позволяет вашей команде автоматически выполнять сборку, тестировать и подготавливать изменения кода к запуску в рабочей среде, что обеспечивает более эффективную и быструю доставку ПО.
![Более продуктивная разработка Более продуктивная разработка](https://d1.awsstatic.com/product-marketing/DevOps/CICD_improve-productivity.c73191c7af7e9f0a859c9ec8af8b1bd4e4eae5be.png)
Применение практики непрерывной доставки повышает производительность вашей команды за счет освобождения разработчиков от ручной работы и стимуляции подходов, которые помогают уменьшить количество ошибок и дефектов в развертываниях для конечных пользователей.
![Заблаговременное обнаружение и устранение ошибок Заблаговременное обнаружение и устранение ошибок](https://d1.awsstatic.com/product-marketing/DevOps/CICD_find-bugs.a60937d9bd1ba25ac3781db46758ebe92c5c889a.png)
За счет более частого и полного тестирования ваша команда сможет выявлять и устранять ошибки заранее, до того, как они перерастут в серьезные проблемы. Непрерывная доставка позволяет упростить дополнительное тестирование вашего кода за счет автоматизации всего процесса.
![Быстрая доставка обновлений Быстрая доставка обновлений](https://d1.awsstatic.com/product-marketing/DevOps/CICD_deliver-updates.1d175ba80e02e998a0bcb5f4918bac95338820b2.png)
Непрерывная доставка дает вашей команде возможность доставлять обновления конечным пользователям быстрее и чаще. При правильном внедрении непрерывной доставки у вас всегда будет готовый к развертыванию собранный экземпляр ПО, прошедший стандартизированную процедуру тестирования.
Подробнее о непрерывной доставке, ее преимуществах и внедрении с помощью сервисов AWS CodePipeline и AWS CodeBuild см. в наших видеоматериалах.
Непрерывную доставку на платформе AWS можно реализовать несколькими способами.
![](https://d1.awsstatic.com/product-marketing/DevOps/CICD.1479aa595c5b4625f98c85662073d0eea1efa9fa.png)
Реализуйте непрерывную доставку с помощью сервиса AWS CodePipeline, позволяющего создать рабочий поток, который осуществляет сборку кода в AWS CodeBuild и автоматически выполняет тестирование и развертывание кода. Попробуйте CodePipeline, следуя указаниям нашего учебного пособия.
![](https://d1.awsstatic.com/product-marketing/DevOps/CICDpartners.d6b99316c941fb57bb834c1c5ea7d1cc40620931.png)
Ознакомьтесь с решениями наших партнеров.