Загрузка результатов тестов из AWS CodePipeline
Для загрузки результатов тестов из AWS Code Pipelines, вам нужно использовать allurectl.
Введение
Цель этой главы - объяснить, как AWS Code Pipelines могут быть интегрированы с рабочими процессами ТестОпс.
Эта глава не будет охватывать особенности AWS Code Pipelines и подробное описание конфигурации AWS Pipelines, так как мы считаем, что AWS создала качественную документацию по своему продукту.
Создание конвейера
-
В инструментах разработчика Code Pipeline откройте Code Pipelines, а затем раздел Pipelines.
-
Нажмите Создать конвейер.
-
Затем назначьте новую или существующую роль службы.
-
Добавьте репозиторий с кодом в ваш конвейер.
-
Добавьте шаг сборки с провайдером сборки.
-
Либо создайте новый проект CodeBuild, либо выберите существующий (в нашем примере мы создадим новый проект).
Когда вы создаете новый проект, появится новая форма. В этом окне вам нужно настроить ваш новый проект:
- Добавьте имя для вашего проекта (кажется, имя должно отличаться от имени конвейера)
- Выберите образ контейнера (ОС, версия с набором библиотек)
- Назначьте роль службы (вы можете использовать существующую для CodeBuild, не путать с CodePipeline, или создать новую, как в примере)
- Добавьте другие параметры, специфичные для вашей сборки, такие как тайм-ауты, ресурсы, сертификаты и т.д.
-
Добавьте переменные окружения, необходимые для загрузки результатов тестирования с помощью allurectl
ALLURE_ENDPOINT
, FQDN или IP-адрес вашего экземпляра ТестОпсALLURE_TOKEN
, персональный API-токен, сгенерированный в профиле пользователяALLURE_PROJECT_ID
, ID проекта на стороне ТестОпс, в который будут отправлены результаты тестирования.
О токене API
Токен API
Токен API будет использоваться allurectl
, работающим в конвейере, для аутентификации / авторизации вашего конвейера для загрузки результатов тестирования на сервер ТестОпс.
-
Войдите в ТестОпс с учетной записью, которую вы собираетесь использовать для загрузки результатов тестирования.
-
Нажмите на свой аватар и перейдите в Ваш профиль.
-
В разделе API токены нажмите зеленую кнопку, которая говорит Создать.
-
Назовите ваш API-токен и нажмите Отправить. Всегда давайте осмысленные имена всем параметрам конфигурации.
ТестОпс случайным образом сгенерирует токен и покажет его в модальном окне.
-
Скопируйте токен и сохраните его в безопасном месте, так как он не может быть восстановлен средствами ТестОпс.
Спецификация YAML
Далее вам нужно указать путь к спецификации AWS yaml.
- По умолчанию расположение
/buildspec.yml
- вы можете указать другое расположение, если yaml не хранится в корне вашего репозитория
Затем нажмите на кнопку CodeBuild, окно закроется, и мы вернемся на страницу создания конвейера.
Выберите, какой тип сборки вам нужен, убедитесь, что все на месте, и нажмите Далее.
В зависимости от вашего процесса вы можете либо пропустить создание этапа развертывания, либо настроить его, если требуется развертывание, это выходит за рамки интеграции с ТестОпс.
Настройка роли службы, используемой для CodeBuild
С главной страницы откройте раздел IAM и перейдите на вкладку Роли.
Найдите роль службы, которую вы используете в CodeBuild, и выберите ее для редактирования.
Вам нужно добавить следующие 3 роли:
codebuild:BatchGetBuilds
codebuild:BatchGetBuildBatches
codepipeline:GetPipelineState
затем укажите, для каких ресурсов применяются эти правила:
- все проекты для codebuild
- все проекты для codepipeline
В зависимости от ваших политик безопасности настройки могут быть более детализированными.
Выполнение вашего конвейера и отправка результатов тестирования в ТестОпс
allurectl
allurectl
используется для загрузки результатов тестирования в ТестОпс.
allurectl
должен быть как-то добавлен в конвейер или может быть загружен в конвейер на каком-то этапе выполнения конвейера.