Как начать работу с CodeBuild, сервисом автоматизированного построения AWS — CloudSavvy IT
CodeBuild — это управляемый сервис сборки, похожий по функции на Дженкинс но сосредоточены конкретно на автоматизации сборки и тестирования. Его можно использовать вместе с CodePipeline для создания полностью автоматизированного конвейера CI / CD.
Настройка проекта сборки
Если вы используете CodePipeline, вы должны создать свой проект CodeBuild из диалогового окна во время «Добавить этап сборки». Это настроит его на использование CodePipeline в качестве источника. Если вы не используете CodePipeline, вы можете создать свой проект сборки из Консоль управления CodeBuildи вручную введите данные для управления исходным кодом.
В любом случае, первое, что вы настроите, это среда, в которую будет встроен ваш код. Это не должно иметь значения для большинства проектов, но для тех, которые делают, вы можете указать собственные образы Docker, чтобы иметь полный контроль над ним. В противном случае стандартные настройки Amazon Linux 2 и стандартные среды выполнения должны быть в порядке.
В разделе «Расширенные настройки» для среды вы найдете настройки для изменения настроек вычислений, для выбора другого типа сервера. Вы также можете изменить переменные среды здесь.
Для настроек VPC лучше оставить это в покое, если у вас нет причин поступить иначе. Настройки по умолчанию (пусто), вероятно, в порядке.
Затем вам нужно настроить CodeBuild с помощью файла Buildspec. Это шаблон YAML, который определяет команды, которые фактически будет выполняться CodeBuild. Вы можете использовать фактический файл, хранящийся в корне вашего проекта как buildspec.yml
или вы можете ввести несколько команд сборки вручную, если ваша конфигурация не слишком сложна.
В любом случае, вам, вероятно, потребуется некоторое время, чтобы выяснить файл Buildspec. Это будет сильно зависеть от типа приложения, которое вы используете, и от того, что необходимо для сборки и тестирования.
Например, следующая конфигурация установит модули, необходимые для проекта TypeScript, скомпилируйте с npm run build
и запустить npm test
, Файл buildspec имеет несколько отдельных фаз, которые вы можете использовать для запуска команд в разное время.
version: 0.2 phases: install: runtime-versions: nodejs: 10 commands: - npm install -g typescript - npm install pre_build: commands: - echo prebuild phase build: commands: - echo Build started on `date` - npm run build - npm test post_build: commands: - echo Build completed on `date` cache: paths: - 'node_modules/**/*' artifacts: files: - '**/*' name: yourBuildName-$(date +%Y-%m-%d)
Вы можете проконсультироваться Ссылка AWS на Buildspec для получения дополнительной информации о том, как все работает.
Получив файл, которым вы довольны, вы можете включить журналы CloudWatch или войти в S3.
Нажмите «Создать проект сборки», и ваши настройки должны быть завершены.
Тестирование вашей сборки
CodeBuild обычно запускается как часть CodePipeline. Если вы используете CodePipeline, вам придется завершить настройку для этапа развертывания и создать свой конвейер. Он должен запуститься автоматически и отправить ваш исходный код в CodeBuild. В противном случае вы можете запустить сборку вручную с консоли или с помощью интерфейса командной строки AWS:
aws codebuild start-build --project-name
Эта команда имеет много переопределений, а также,
Вы сможете просмотреть выходные данные своей сборки, нажав на сборку в консоли управления. Это покажет вам журналы от процесса сборки, которые могут иметь решающее значение для отслеживания ошибок.
В случае сбоя какой-либо команды вся сборка, скорее всего, потерпит неудачу, поэтому вы должны убедиться, что все правильно. Если вы используете CodePipeline, внесите изменения в buildspec.yml
будет запускать новые обновления конвейера и новые сборки.