Загрузка результатов тестов из 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охраните токен в безопасном месте, так как его нельзя будет восстановить средствами ТестОпс.
Спецификация YAML
Далее вам нужно указать путь к YAML-спецификации AWS.
- Расположение по умолчанию:
/buildspec.yml
- Вы можете указать другое расположение, если YAML не хранится в корне вашего репозитория.
Затем нажмите на CodeBuild, окно закроется, и вы вернетесь на страницу создания пайплайна.
Выберите, какой тип сборки вам нужен. Убедитесь, что все на месте, и нажмите Next.
В зависимости от вашего процесса вы можете либо пропустить создание этапа развертывания, либо настроить его, если требуется развертывание. Это выходит за рамки интеграции с ТестОпс.
Настройка сервисной роли для CodeBuild
С главной страницы откройте раздел IAM и перейдите на вкладку Roles.
Найдите сервисную роль, которую вы используете в CodeBuild, и выберите ее для редактирования.
Добавьте три роли:
- codebuild:BatchGetBuilds,
- codebuild:BatchGetBuildBatches,
- codepipeline:GetPipelineState.
Затем укажите, для каких ресурсов применяются эти правила:
- все проекты для codebuild;
- все проекты для codepipeline.
В зависимости от ваших политик безопасности настройки могут быть более детализированными.
Запуск вашего пайплайна и отправка результатов тестов в ТестОпс
allurectl
Используйте allurectl, чтобы загрузить результаты тестов в ТестОпс.
Добавьте allurectl в пайплайн или загрузите его туда на одном из этапов выполнения пайплайна.