Как начать работу с CodeBuild, сервисом автоматизированного построения AWS — CloudSavvy IT

Сервис автоматической сборки AWS

CodeBuild — это управляемый сервис сборки, похожий по функции на Дженкинс но сосредоточены конкретно на автоматизации сборки и тестирования. Его можно использовать вместе с CodePipeline для создания полностью автоматизированного конвейера CI / CD.

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

Если вы используете CodePipeline, вы должны создать свой проект CodeBuild из диалогового окна во время «Добавить этап сборки». Это настроит его на использование CodePipeline в качестве источника. Если вы не используете CodePipeline, вы можете создать свой проект сборки из Консоль управления CodeBuildи вручную введите данные для управления исходным кодом.

В любом случае, первое, что вы настроите, это среда, в которую будет встроен ваш код. Это не должно иметь значения для большинства проектов, но для тех, которые делают, вы можете указать собственные образы Docker, чтобы иметь полный контроль над ним. В противном случае стандартные настройки Amazon Linux 2 и стандартные среды выполнения должны быть в порядке.

Среда Codebuild

В разделе «Расширенные настройки» для среды вы найдете настройки для изменения настроек вычислений, для выбора другого типа сервера. Вы также можете изменить переменные среды здесь.

Для настроек VPC лучше оставить это в покое, если у вас нет причин поступить иначе. Настройки по умолчанию (пусто), вероятно, в порядке.

настройки vpc codebuild

Затем вам нужно настроить CodeBuild с помощью файла Buildspec. Это шаблон YAML, который определяет команды, которые фактически будет выполняться CodeBuild. Вы можете использовать фактический файл, хранящийся в корне вашего проекта как buildspec.ymlили вы можете ввести несколько команд сборки вручную, если ваша конфигурация не слишком сложна.

Настройте CodeBuild с помощью файла Buildspec.

В любом случае, вам, вероятно, потребуется некоторое время, чтобы выяснить файл 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.

Журналы CloudWatch

Нажмите «Создать проект сборки», и ваши настройки должны быть завершены.

Тестирование вашей сборки

CodeBuild обычно запускается как часть CodePipeline. Если вы используете CodePipeline, вам придется завершить настройку для этапа развертывания и создать свой конвейер. Он должен запуститься автоматически и отправить ваш исходный код в CodeBuild. В противном случае вы можете запустить сборку вручную с консоли или с помощью интерфейса командной строки AWS:

aws codebuild start-build
--project-name 

Эта команда имеет много переопределений, а также,

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

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

В случае сбоя какой-либо команды вся сборка, скорее всего, потерпит неудачу, поэтому вы должны убедиться, что все правильно. Если вы используете CodePipeline, внесите изменения в buildspec.yml будет запускать новые обновления конвейера и новые сборки.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован.