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

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

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

Сведения об уровне бесплатного пользования AWS »


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

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

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

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

CodePipeline_Elements

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

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

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

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

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

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

 

 

Вопрос: Как начать работу с AWS CodePipeline?
Можно войти в Консоль управления AWS, создать конвейер и начать пользоваться сервисом. Ознакомиться с сервисом AWS CodePipeline поможет раздел Начало работы, который включает пошаговые руководства. Для быстрого выделения предварительно настроенного конвейера выпуска с помощью сервера сборки приложений Jenkins с использованием шаблона AWS CloudFormation также можно использовать пакет Pipeline Starter Kit.

Вопрос: Как запустить конвейер?
После создания конвейера он будет автоматически запущен для выпуска последней версии вашего исходного кода. После этого при каждом внесении изменений в исходную позицию конвейер снова запускается. Кроме того, можно повторно запустить конвейер для последней редакции с помощью кнопки «Release Change» в консоли конвейера.

Вопрос: Как остановить конвейер?
Чтобы остановить конвейер, можно отключить переход от одной стадии к другой. После отключения ваш конвейер будет продолжать выполнять действия над редакциями, но он не будет передавать редакции по отключенным переходам на более поздние стадии. Дополнительные сведения см. в разделе «Отключение или включение переходов в 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. Дополнительные сведения см. на странице Непрерывная доставка с AWS CloudFormation.

Вопрос: Какие продукты можно интегрировать с AWS CodePipeline?
AWS CodePipeline интегрирован с такими сервисами AWS, как AWS CodeCommit, Amazon S3, AWS CodeBuild, AWS CodeDeploy, AWS Elastic Beanstalk, AWS CloudFormation, AWS OpsWorks и AWS Lambda. Кроме того, AWS CodePipeline интегрируется с рядом партнерских инструментов. Дополнительные сведения см. на странице интеграции продукта. Наконец, можно написать свои настраиваемые действия и интегрировать любой существующий инструмент с CodePipeline. Дополнительные сведения о настраиваемых действиях см. на странице Создание и добавление собственных действий в AWS CodePipeline.

Вопрос: Можно ли получить историю вызовов API AWS CodePipeline?
Да. Для получения истории вызовов API AWS CodePipeline вашего аккаунта с целью анализа уровня безопасности и устранения неполадок в работе включите сервис AWS CloudTrail в Консоли управления AWS. Дополнительные сведения см. в разделе Ведение лога вызовов API AWS CodePipeline с помощью AWS CloudTrail.

Вопрос: Какие ограничения действуют при работе сервиса AWS CodePipeline?
Сведения об ограничениях в работе сервиса см. в разделе Ограничения.

Вопрос: Что необходимо сделать для интеграции с 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 из другого аккаунта. Для ознакомления с возможностями разрешения подобного доступа к разным аккаунтами см. пошаговое руководство «Делегирование прав доступа к нескольким своим аккаунтам AWS, используя роли IAM» и раздел Настройка доступа к конвейеру из нескольких аккаунтов.

Вопрос: Какие регионы поддерживает AWS CodePipeline?
Дополнительные сведения о доступности сервиса CodePipeline по регионам см. на странице Продукты и сервисы по регионам.

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