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

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

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

Понятия

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

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

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

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

Вопрос: Как начать работу с AWS CodePipeline?
Можно войти в Консоль управления AWS, создать конвейер и начать пользоваться сервисом. Краткое описание AWS CodePipeline см. в разделе Getting Started, который включает пошаговые руководства. 
 
Вопрос. Как запустить конвейер?
После создания конвейера он автоматически запускается для выпуска последней версии исходного кода. После этого конвейер снова запускается при каждом внесении изменений в исходном расположении. Кроме того, можно повторно запустить конвейер для последней редакции с помощью кнопки «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?
Можно создать оповещения для событий, влияющих на ваши конвейеры. Уведомления будут приходить в виде оповещений Amazon SNS. Каждое оповещение будет включать в себя сообщение о состоянии, а также ссылку на ресурсы, где возникло событие, ставшее причиной оповещения. Оповещения предоставляются бесплатно, однако плата может начисляться за использование других сервисов AWS при оповещении, например Amazon SNS. Чтобы узнать, как начать работу с оповещениями, см. руководство пользователя по оповещениям. Кроме того, клиенты, использующие AWS Chatbot, могут настроить отправку оповещений в каналы Slack или чат‑комнаты Amazon Chime. Более подробную информацию см. здесь.  

Партнеры

Вопрос: Что необходимо сделать для интеграции с 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
Возникли дополнительные вопросы?
Свяжитесь с нами