Сборка и тестирование кода

AWS CodeBuild запускает сборку в предварительно настроенной среде для с определенной операционной системой, средой исполнения для языка программирования и средствами сборки (например, Apache Maven, Gradle или npm). Достаточно просто указать местоположение исходного кода и выбрать параметры сборки, такие как среда сборки и команды исполнения. AWS CodeBuild выполняет сборку кода и сохраняет артефакты в корзину Amazon S3. Можно также использовать команды сборки для загрузки артефактов в репозиторий. Для создания проекта сборки и для управления им можно использовать AWS CodePipeline, Консоль управления AWS, интерфейс командной строки AWS или средства SDK.

Предварительно настроенные среды сборки

В AWS CodeBuild доступны среды сборки для Java, Python, Node.js, Ruby, Go, Android, Docker и .NET Core для Linux.

Полный список предварительно настроенных сред сборки см. здесь

Настройка сред сборки

В AWS CodeBuild можно использовать свои собственные среды сборки, например для Microsoft .NET Framework. Для этого необходимо создать образ Docker, содержащий требуемую среду исполнения и инструменты сборки, и загрузить его в репозиторий Docker Hub или Amazon EC2 Container Registry (Amazon ECR). После создания нового проекта сборки можно указать местоположение образа Docker, и CodeBuild будет использовать этот образ в качестве конфигурации проекта сборки. 

Настройки конфигурации

Указание команд сборки

Можно указать AWS CodeBuild определенные команды для исполнения, такие как установка инструментов сборки, запуск модульных тестов и сборка пакетов кода. Конфигурация сборки хранится в файле YAML, в котором можно выбрать команды, выполняемые на каждом этапе сборки, и другие параметры. CodeBuild предоставляет примеры файлов конфигураций для типичных сценариев сборки (например, для сборки с помощью Apache Maven, Gradle или npm), которые помогут быстро начать работу с сервисом.

Примеры конфигураций сборки см. здесь.

Выбор вычислительных ресурсов

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

Интеграция с исходным кодом

При работе с AWS CodeBuild начать сборку можно несколькими способами. Например, можно начать сборку в CodeBuild после подключения к AWS CodeCommit, GitHub, GitHub Enterprise, Bitbucket или Amazon S3. Можно также подключить CodeBuild к репозиторию исходных кодов с помощью AWS CodePipeline, который автоматически запускает сборку после каждого подтверждения изменений кода.

Процессы непрерывной интеграции и доставки

В AWS CodeBuild применяется модель предоставления ресурсов по требованию и оплата по факту использования. Это позволяет чаще выполнять сборку кода, а также искать и исправлять ошибки на ранних стадиях разработки, когда проблемы просто устранить. CodeBuild можно интегрировать в существующие процессы непрерывной интеграции и непрерывной доставки (CI / CD), используя возможности интеграции исходного кода, команды сборки или интеграцию с Jenkins. CodeBuild – один из группы сервисов AWS Code, которые позволяет внедрять CI / CD. CodeBuild можно подключить к AWS CodePipeline и автоматически запускать сборку и тестирование кода в CodeBuild после каждого подтверждения изменения в репозитории исходного кода. Для этого в мастере AWS CodePipeline можно подключить репозиторий исходного кода и выбрать CodeBuild в качестве сборщика кода.

Можно также подключить инструменты нагрузочного тестирования или тестирования интерфейса (например, BlazeMeter или Ghost Inspector), которые будут запускаться после завершения сборки с помощью CodeBuild. Это позволяет расширить процесс непрерывной интеграции до процесса непрерывной доставки. Затем можно выполнить развертывание пакета в инстансах или на локальных серверах с помощью сервисов, интегрированных с AWS CodePipeline, таких как AWS CodeDeploy и AWS Elastic Beanstalk.

Безопасность и разрешения

Артефакты сборки шифруются ключом, специфичным для каждого клиента. Управление ключами происходит через AWS Key Management Service (KMS). AWS CodeBuild интегрирован с сервисом AWS Identity and Access Management, с помощью которого можно управлять доступом к сборкам пользователей и ресурсов AWS.

Мониторинг

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

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

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