Общие вопросы

Вопрос: Что представляет собой AWS CodePipeline?
AWS CodePipeline – это сервис непрерывной доставки, который позволяет моделировать, визуализировать и автоматизировать действия, необходимые для выпуска программного обеспечения. С помощью AWS CodePipeline можно моделировать весь процесс выпуска, от сборки кода, развертывания в промежуточной среде и тестирования приложения до запуска в рабочей среде. После этого AWS CodePipeline при каждом изменении кода выполняет сборку, тестирование и развертывание приложения в соответствии с определенным рабочим процессом. В любую стадию процесса выпуска можно интегрировать собственные и партнерские инструменты, чтобы сформировать комплексное решение непрерывной доставки.

Вопрос: Почему следует использовать AWS CodePipeline?
Автоматизируя процессы сборки, тестирования и выпуска, AWS CodePipeline повышает скорость и качество обновлений программного обеспечения. Сервис пропускает все изменения через ряд последовательных проверок качества.
 
Вопрос: Что такое непрерывная доставка?
Непрерывная доставка – это практика разработки программного обеспечения, когда при любых изменениях в программном коде выполняется автоматическая сборка, тестирование и подготовка к окончательному выпуску. Внедрить практику непрерывной доставки помогает сервис AWS CodePipeline. Подробнее о непрерывной доставке см. по ссылке.

Понятия

Ниже на диаграмме показаны понятия, рассматриваемые в этом разделе.

CodePipeline_Elements
Вопрос: Что такое конвейер?
Конвейер – это логическая структура рабочего процесса, которая описывает, как изменения программного обеспечения проходят различные этапы процесса выпуска. Пользователь определяет рабочий процесс в виде последовательности стадий и действий.

Вопрос: Что такое редакция?
Редакция – это изменение, внесенное в исходном расположении, заданном для конвейера. В исходном расположении могут находиться исходный код, результаты сборки, конфигурация или данные. По конвейеру одновременно могут проходить несколько редакций.
 
Вопрос: Что такое стадия?
Стадия – это группа из одного или нескольких действий. Конвейер может содержать две и более стадий.
 
Вопрос: Что такое действие?
Действие – это задача, выполняемая над редакцией. Действия конвейера выполняются в определенном порядке, последовательно или параллельно, как определено в конфигурации стадии. Дополнительные сведения см. в разделах Edit a Pipeline и Action Structure Requirements in AWS CodePipeline.
 
Вопрос: Что такое артефакт?
Каждое действие при выполнении затрагивает один или несколько файлов. Эти файлы называются артефактами. В дальнейшем над этими артефактами в конвейере могут выполняться другие действия. Например, действие с источником даст в результате последнюю версию кода в качестве артефакта источника, который будет считан действием сборки. После компиляции действие сборки загрузит результат сборки в качестве еще одного артефакта, который будет позже считан действиями развертывания.
 
Вопрос: Что такое переход?
Стадии конвейера соединены переходами и обозначаются стрелками в консоли AWS CodePipeline. Редакции, которые успешно завершили действия на определенной стадии, будут автоматически отправлены на следующую стадию, как показано стрелкой перехода. Переходы между стадиями можно включать и отключать.

Использование AWS CodePipeline

Вопрос: Как начать работу с AWS CodePipeline?
Можно войти в Консоль управления AWS, создать конвейер и начать пользоваться сервисом. Краткое описание AWS CodePipeline см. в разделе Getting Started, который включает пошаговые руководства. Для быстрого выделения предварительно настроенного конвейера выпуска на основе сервера сборки приложений Jenkins с помощью шаблона AWS CloudFormation можно использовать Pipeline Starter Kit.
 
Вопрос: Как запустить конвейер?
После создания конвейера он автоматически запускается для выпуска последней версии исходного кода. После этого конвейер снова запускается при каждом внесении изменений в исходном расположении. Кроме того, можно повторно запустить конвейер для последней редакции с помощью кнопки «Release Change» (Изменение выпуска) в консоли конвейера.
 
Вопрос: Как остановить конвейер?
Чтобы остановить конвейер, можно отключить переход от одной стадии к другой. После отключения конвейер будет продолжать выполнять действия над редакциями, но не будет передавать редакции по отключенным переходам на более поздние стадии. Дополнительные сведения см. в разделе «Disable or Enable Transitions in AWS CodePipeline».
 
Вопрос: Можно ли изменить существующий конвейер?
Да. Можно использовать консоль AWS CodePipeline или интерфейс командной строки AWS для добавления или удаления стадий конвейера, а также добавлять, изменять или удалять действия в рамках стадии.
 
Вопрос: Можно ли создать копию существующего конвейера?
Да. Можно использовать команду get‑pipeline в интерфейсе командной строки AWS, чтобы получить структуру существующего конвейера в виде файла JSON. Затем можно использовать этот файл JSON и команду create‑pipeline интерфейса командной строки AWS для создания нового конвейера с такой же структурой, как у существующего конвейера.
 
Вопрос: Можно ли выполнять действия параллельно
Да. Можно настроить параллельное выполнение одного или нескольких действий на любой из стадий.
 
Вопрос: Как можно реализовать непрерывную доставку для бессерверных приложений и функций AWS Lambda?
Для выпуска обновлений бессерверных приложений можно добавить в репозиторий исходного кода шаблон AWS Serverless Application Model и соответствующие файлы. Можно использовать в конвейере непрерывной доставки сервис AWS CodeBuild для упаковки кода перед развертыванием. После этого можно использовать действия AWS CloudFormation для создания набора изменений и развертывания бессерверного приложения. Пользователь может добавлять в рабочий процесс дополнительные действия, например ручное утверждение или автоматическое тестирование. Подробнее см. по ссылке.
 
Вопрос: Каким образом можно выделять ресурсы AWS и управлять ими в рамках рабочего процесса выпуска?
С помощью AWS CodePipeline и AWS CloudFormation можно использовать непрерывную доставку для автоматической сборки и тестирования изменений в стеке AWS CloudFormation, прежде чем передавать их в рабочий стек. Такая технология выпуска позволяет быстро и надежно вносить изменения в используемую инфраструктуру AWS. Можно расширить рабочий процесс дополнительными действиями, такими как ручное утверждение, тестирование или вызов функций AWS Lambda. Дополнительные сведения см. на странице Continuous Delivery with AWS CloudFormation.
 
Вопрос: Какие продукты можно интегрировать с AWS CodePipeline?
AWS CodePipeline интегрирован с такими сервисами AWS, как AWS CodeCommit, Amazon S3, AWS CodeBuild, AWS CodeDeploy, AWS Elastic Beanstalk, AWS CloudFormation, AWS OpsWorks, Amazon ECS и AWS Lambda. Кроме того, AWS CodePipeline интегрируется с рядом партнерских инструментов. Дополнительные сведения см. на странице интеграции продукта. Наконец, можно написать свои настраиваемые действия и интегрировать любой существующий инструмент с CodePipeline. Дополнительные сведения о настраиваемых действиях см. на странице «Create and Add a Custom Action in AWS CodePipeline».
 
Вопрос: Можно ли получить историю вызовов API сервиса AWS CodePipeline?
Да. Чтобы получить историю вызовов API сервиса AWS CodePipeline для аккаунта с целью анализа безопасности и устранения текущих неисправностей, нужно включить сервис AWS CloudTrail в Консоли управления AWS. Дополнительные сведения см. в разделе Logging AWS CodePipeline API calls by Using AWS CloudTrail.
 
Вопрос: Какие лимиты предусмотрены для сервиса AWS CodePipeline?
Сведения о лимитах для сервиса см. в разделе Limits.
 
 

Партнеры

Вопрос: Что необходимо сделать для интеграции с AWS CodePipeline?
Если вы хотите стать партнером AWS и интегрировать свой сервис для разработчиков с AWS CodePipeline, напишите нам по адресу codepipeline‑request@amazon.com.

Безопасность

Вопрос: Можно ли использовать AWS Identity and Access Management (IAM) для управления доступом к AWS CodePipeline?
Да. AWS CodePipeline поддерживает разрешения на уровне ресурсов. Можно указать пользователей, которые имеют доступ к конвейеру, а также действия, которые они могут выполнять. К примеру, можно предоставить пользователям доступ к конвейеру в режиме «только чтение», если вы хотите, чтобы они могли посматривать состояние конвейера, но не могли изменять конвейер. Кроме того, можно установить разрешения для любых стадии или действия в конвейере. Дополнительную информацию об использовании IAM с AWS CodePipeline см. в справке по правам доступа.

Вопрос: Можно ли разрешить доступ к конвейеру, находящемуся в одном аккаунте AWS, пользователю IAM из другого аккаунта AWS?
Да. Можно создать роль IAM в аккаунте AWS, которому принадлежит конвейер, чтобы делегировать права доступа к конвейеру и любым связанным с ним ресурсам пользователю IAM из другого аккаунта. Пошаговое руководство по разрешению подобного доступа к разным аккаунтами см.в разделах Walkthrough: Delegating Access Across AWS Accounts For Accounts You Own Using IAM Roles и Configure Cross‑Account Access to a Pipeline.

Регионы

Вопрос: В каких регионах доступен сервис AWS CodePipeline?
Сведения о доступности сервиса CodePipeline по регионам см. на странице Продукты и сервисы по регионам.

Оплата

Вопрос: Какова стоимость использования сервиса AWS CodePipeline?
Сведения о стоимости сервиса AWS CodePipeline см. на странице цен.

Подробнее о ценах на AWS CodePipeline

Перейти на страницу цен
Готовы приступить к разработке?
Начать работу с AWS CodePipeline
Есть вопросы?
Свяжитесь с нами