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

Вопрос. Что такое AWS CodeBuild?

AWS CodeBuild – это полностью управляемый сервис непрерывной интеграции. CodeBuild компилирует исходный код, проводит тестирование и формирует готовые к развертыванию пакеты программного обеспечения. Благодаря CodeBuild больше не нужно распределять и масштабировать собственные серверы сборок, а также обеспечивать управление ими. CodeBuild автоматически масштабируется в обоих направлениях и способен обрабатывать несколько сборок одновременно, поэтому сборкам не придется ждать в очереди. Можно быстро начать работу с помощью предустановленных сред сборки или использовать собственные среды сборки на основе своих инструментов. Работа сервиса CodeBuild оплачивается поминутно.

Вопрос. Почему следует использовать CodeBuild?

Вместо того чтобы настраивать, обновлять и обслуживать ПО сервера сборок, а также вносить исправления самостоятельно, можно воспользоваться полностью управляемыми возможностями сервиса CodeBuild. После отправки заданий сборки в CodeBuild сервис запустит их выполнение во временных вычислительных контейнерах, заново создаваемых и удаляемых по завершении каждой сборки. Управлять аппаратным или программным обеспечением сервера сборок не требуется. CodeBuild также способен автоматически масштабироваться в соответствии с текущими объемами сборок. Сервис немедленно обрабатывает каждую отправляемую в него сборку и способен выполнять несколько сборок одновременно, благодаря чему задания никогда не будут стоять в очереди.

Вопрос. Сколько стоит использование CodeBuild?

Дополнительные сведения см. на странице Цены на AWS CodeBuild.

Вопрос. Можно ли использовать CodeBuild для автоматизации процесса выпуска?

Да. Сервис CodeBuild интегрирован в AWS CodePipeline. Можно добавить действие сборки, а также настроить процесс непрерывной интеграции и непрерывной доставки в облаке. Дополнительные сведения о настройке и мониторинге сборок с помощью консоли CodePipeline см. здесь.

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

Вопрос. Что такое проект сборки?

Проект сборки позволяет определить способ исполнения сборки сервисом CodeBuild. Он содержит информацию о местонахождении исходного кода, используемой среде сборки, исполняемых командах сборки и месте сохранения итоговой сборки. Среда сборки представляет собой комбинацию из операционной системы, среды исполнения программного кода и инструментов, используемых сервисом CodeBuild для запуска сборки.

Вопрос. Как можно настроить проект сборки?

Проект сборки можно настроить с помощью консоли или интерфейса командной строки AWS. Требуется указать местонахождение исходного репозитория, среду исполнения, команды сборки, роль IAM для контейнера и вычислительный класс, необходимый для запуска сборки. Команды сборки также можно указать в файле buildspec.yml.

Вопрос. Какие исходные репозитории поддерживаются сервисом CodeBuild?

Для извлечения исходного кода при сборках CodeBuild может подключаться к AWS CodeCommit, S3, GitHub, GitHub Enterprise или Bitbucket.

Вопрос. Какие среды программирования поддерживаются сервисом CodeBuild?

CodeBuild предлагает предварительно настроенные среды для поддерживаемых версий Java, Ruby, Python, Go, Node.js, Android, .NET Core, PHP и Docker. Можно также настроить собственную среду, создав образ Docker и загрузив его в Amazon EC2 Container Registry или реестр Docker Hub. После этого можно ссылаться в проекте сборки на собственный образ.

Вопрос. Какие предварительно настроенные среды исполнения Windows предлагаются в CodeBuild?

CodeBuild предоставляет предварительно настроенную среду сборки Windows для .NET Core 2.0. Мы также хотели бы предложить предварительно сконфигурированную среду сборки для клиентов Microsoft .NET Framework, у многих из которых уже есть лицензии на использование проприетарных библиотек Microsoft. Однако в данный момент корпорация Microsoft не готова сотрудничать с нами с целью удовлетворить запросы таких клиентов. Можно самостоятельно настроить собственную среду для поддержки других целевых сборок, таких как .NET Framework, путем создания образа Docker и загрузки его в Amazon EC2 Container Registry или реестр Docker Hub. После этого можно ссылаться в проекте сборки на собственный образ.

Вопрос. Что происходит при запуске сборки?

CodeBuild создаст временный вычислительный контейнер класса, определенного в проекте сборки; загрузит его с указанной средой исполнения; загрузит исходный код; исполнит команды, сконфигурированные в проекте; выгрузит сформированный артефакт в корзину S3, а затем уничтожит вычислительный контейнер. В процессе сборки сервис CodeBuild будет передавать результаты сборки в консоль сервиса и сервис Amazon CloudWatch.

Вопрос. Как настроить первую сборку?

Войдите в Консоль управления AWS, создайте проект сборки и запустите сборку. Для знакомства с сервисом CodeBuild см. раздел Начало работы с пошаговым учебным руководством. Кроме того, можно использовать локальную версию CodeBuild для тестирования и устранения ошибок сборки локально.

Вопрос. Можно ли использовать CodeBuild совместно с Jenkins?

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

Вопрос. Как просмотреть результаты предыдущих сборок?

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

Вопрос. Как устранить ошибки после сбоя предыдущей сборки?

Чтобы устранить ошибки сборки, можно проверить подробные журналы, созданные в процессе сборки, или использовать локальную версию CodeBuild для тестирования и устранения ошибок сборки локально.

Вопрос. Почему инстанс build.general1.small не поддерживается для .NET Core в средах сборки Windows?

В связи с размерами базового контейнера Docker и дополнительных библиотек Windows запуск .NET Core для среды сборки Windows требует больше памяти и вычислительной мощности, чем доступно в вычислительном инстансе типа build.general1.small. Из-за этого ограничения уровень бесплатного пользования для .NET Core в среде сборки Windows не предусмотрен.

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

Вопрос. Можно ли зашифровать артефакты сборки, сохраненные сервисом CodeBuild?

Да. Для шифрования артефактов можно указать ключ, сохраненный в сервисе AWS Key Management Service (AWS KMS).

Вопрос. Как CodeBuild изолирует сборки, принадлежащие разным клиентам?

CodeBuild запускает сборку в только что созданной и изолированной от других пользователей среде и каждый раз уничтожает среду сборки по завершении процесса. CodeBuild обеспечивает безопасность и изоляцию на уровнях инфраструктуры и исполнения.

Вопрос. Можно ли использовать AWS Identity and Access Management (IAM) для управления доступом к CodeBuild?

Да. Управлять доступом к проектам сборки можно с помощью разрешений на уровне ресурсов в политиках IAM.

Регионы

Вопрос. Какие регионы поддерживает CodeBuild?

Дополнительные сведения см. на странице Продукты и сервисы по регионам.

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

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