Загрузка результатов тестов из AWS CodePipeline
Для загрузки результатов тестов из AWS CodePipeline вам нужно использовать allurectl.
Введение
Цель этой главы — объяснить, как AWS CodePipeline может быть интегрирован с рабочими процессами ТестОпс.
Эта глава не будет охватывать особенности AWS CodePipeline и подробное описание конфигурации AWS CodePipeline, так как мы считаем, что команда AWS создала качественную документацию по своему продукту.
Создание пайплайна
В инструментах разработчика Code Pipeline откройте Code Pipelines, а затем раздел Pipelines.
Нажмите Create pipeline.

Назначьте новую или существующую сервисную роль.

Добавьте репозиторий с кодом в ваш пайплайн.

Добавьте шаг сборки.
Создайте новый или выберите существующий проект CodeBuild (в нашем примере мы создадим новый проект).

Когда вы создаете новый проект, появится новая форма. В этом окне вам нужно настроить ваш новый проект:
- Добавьте имя для вашего проекта (оно должно отличаться от названия пайплайна).
- Выберите образ контейнера (ОС, версия с набором библиотек).
- Назначьте сервисную роль. Вы можете использовать существующую роль для CodeBuild (не путать с CodePipeline) или создать новую, как в примере.
- Добавьте другие параметры, специфичные для вашей сборки, например: тайм-ауты, ресурсы, сертификаты.
Добавьте переменные окружения, необходимые для загрузки результатов тестов с помощью allurectl:
ALLURE_ENDPOINT— FQDN или IP-адрес вашего инстанса ТестОпс;ALLURE_TOKEN— персональный API-токен, сгенерированный в меню пользователя;ALLURE_PROJECT_ID— ID проекта ТестОпс, в который будут отправлены результаты тестов.

О токене API
Токен API
Токен API будет использоваться allurectl, работающим в пайплайне, для аутентификации/авторизации вашего пайплайна для загрузки результатов тестов на инстанс ТестОпс.
В ТестОпс нажмите на ваш аватар и перейдите в раздел API-токены.
Нажмите + Токен.
Введите название токена, которое поможет вам распознать интеграцию, например, Токен для AWS.
Нажмите Создать.
ТестОпс сгенерирует токен и отобразит его в модальном окне.
Нажмите иконку Копировать, чтобы скопировать токен в буфер обмена.
Cохраните токен в безопасном месте, он понадобится для настройки интеграции в AWS.
Спецификация YAML
Далее вам нужно указать путь к YAML-спецификации AWS.
- Расположение по умолчанию:
/buildspec.yml - Вы можете указать другое расположение, если YAML не хранится в корне вашего репозитория.

Затем нажмите на CodeBuild, окно закроется, и вы вернетесь на страницу создания пайплайна.
Выберите, какой тип сборки вам нужен. Убедитесь, что все на месте, и нажмите Next.

В зависимости от вашего процесса вы можете либо пропустить создание этапа развертывания, либо настроить его, если требуется развертывание. Это выходит за рамки интеграции с ТестОпс.
Настройка сервисной роли для CodeBuild
С главной страницы откройте раздел IAM и перейдите на вкладку Roles.
Найдите сервисную роль, которую вы используете в CodeBuild, и выберите ее для редактирования.

Добавьте три роли:
- codebuild:BatchGetBuilds,
- codebuild:BatchGetBuildBatches,
- codepipeline:GetPipelineState.

Затем укажите, для каких ресурсов применяются эти правила:
- все проекты для codebuild;
- все проекты для codepipeline.
В зависимости от ваших политик безопасности настройки могут быть более детализированными.

Запуск вашего пайплайна и отправка результатов тестов в ТестОпс
allurectl
Используйте allurectl, чтобы загрузить результаты тестов в ТестОпс, — добавьте allurectl в пайплайн или загрузите его туда на одном из этапов выполнения пайплайна.

