AWS CodePipeline – это сервис непрерывной интеграции и непрерывной доставки для быстрого и безотказного обновления приложений и инфраструктуры. CodePipeline можно использовать для осуществления комплексного моделирования и автоматизации процесса выпуска своего программного обеспечения.

Начать работу с AWS бесплатно

Создать бесплатный аккаунт

Получите доступ к уровню бесплатного пользования AWS на год, включая преимущества базовой поддержки AWS Basic Support: круглосуточное обслуживание клиентов (без праздников и выходных), форумы и многое другое.
Сведения об уровне бесплатного пользования AWS »

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

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

CodePipeline_Parallel-Execution

AWS CodePipeline может получать исходный код для вашего конвейера непосредственно из AWS CodeCommit или Amazon S3. Он может запускать тестирование сборок и модулей в AWS CodeBuild. CodePipeline может развертывать изменения с помощью AWS CodeDeploy, AWS Elastic Beanstalk или AWS OpsWorks.

Можно создать модель действий AWS CloudFormation, чтобы выделять, обновлять или удалять ресурсы AWS в процессе подготовки выпуска. Кроме того, можно осуществлять непрерывную доставку бессерверных приложений, созданных с помощью AWS Lambda, Amazon API Gateway и Amazon DynamoDB с использованием AWS Serverless Application Model.

Используя интеграцию CodePipeline с AWS Lambda, можно вызывать специальные функции, определяемые кодом, на любой стадии конвейера. Например, можно запустить функцию Lambda, проверяющую, успешно ли было развернуто интернет-приложение.

CodePipeline дает возможность настроить конвейер, который обеспечит взаимодействие этих сервисов как между собой, так и со сторонними инструментами разработчика и специальными системами.

AWS CodePipeline позволяет внедрить сторонние инструменты разработчика, такие как GitHub и Jenkins, в любой этап процесса выпуска всего одним щелчком мыши. Сторонние инструменты можно использовать для управления исходным кодом, сборки, тестирования или развертывания. Дополнительные сведения о возможностях интеграции см. по ссылке.

AWS CodePipeline позволяет осуществить интеграцию с вашими собственными настраиваемыми системами. Можно зарегистрировать определенное действие, которое позволит включить ваши серверы в ваш конвейер путем интеграции агента CodePipeline, имеющего открытый исходный код, с вашими серверами. Кроме того, можно использовать подключаемый модуль CodePipeline Jenkins для простой регистрации ваших существующих серверов сборки приложений в качестве настраиваемого действия.

AWS CodePipeline позволяет задать свою структуру конвейера с помощью декларативного документа JSON, который определяет рабочий процесс выпуска, а также его этапы и действия. Эти документы позволяют обновить существующие конвейеры, а также предоставить начальные шаблоны для создания новых конвейеров.

AWS CodePipeline использует AWS IAM для определения тех, кто может внести изменения в рабочий процесс выпуска и кто может управлять им. Можно предоставить пользовательский доступ с помощью пользователей IAM, ролей IAM, а также SAML-интегрированных каталогов.