Вручную настройте рабочий процесс CI/CD для выполнения нагрузочных тестов
Вы можете автоматизировать нагрузочный тест в Azure Load Testing, создав конвейер CI/CD. Из этой статьи вы узнаете, как вручную настроить GitHub Actions, Azure Pipelines или другие средства CI для вызова существующего теста в Azure Load Testing. Автоматизируйте нагрузочный тест для непрерывной проверки производительности и стабильности приложения под нагрузкой.
Чтобы добавить существующий нагрузочный тест в конвейер CI/CD:
- Настройте проверку подлинности службы, чтобы разрешить средству CI подключаться к ресурсу нагрузочного тестирования Azure.
- Добавьте входные файлы нагрузочного теста в репозиторий, например скрипт теста JMeter и конфигурацию YAML нагрузочного теста.
- Обновите определение конвейера CI/CD, чтобы вызвать нагрузочное тестирование Azure.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Тест нагрузочного тестирования Azure. Создайте нагрузочный тест на основе URL-адреса или используйте существующий скрипт JMeter для создания нагрузочного теста.
- Организация и проект Azure DevOps. Если у вас нет организации Azure DevOps, ее можно создать бесплатно. Если вам нужна помощь по началу работы с Azure Pipelines, см. статью "Создание первого конвейера".
Настройка проверки подлинности службы
Чтобы запустить нагрузочный тест в рабочем процессе CI/CD, необходимо предоставить разрешение рабочему процессу CI/CD для доступа к ресурсу нагрузочного тестирования. Создайте субъект-службу для рабочего процесса CI/CD и назначьте роль участника нагрузочного теста Azure RBAC.
Создание сервисного подключения в Azure Pipelines
В Azure Pipelines вы создадите подключение к службе в проекте Azure DevOps для доступа к ресурсам в подписке Azure. При создании подключения к службе Azure DevOps создает объект субъекта-службы Microsoft Entra.
Войдите в организацию Azure DevOps (
https://dev.azure.com/<your-organization>
) и выберите проект.Замените заполнитель текста идентификатором
<your-organization>
проекта.Выберите параметры>> службы "Параметры проекта" и "Создать подключение службы".
В области подключения к службе выберите Azure Resource Manager и нажмите кнопку "Далее".
Выберите метод проверки подлинности субъекта-службы (автоматически) и нажмите кнопку "Далее".
Введите сведения о подключении службы и нажмите кнопку "Сохранить ", чтобы создать подключение службы.
Поле значение Уровень области Подписка. Подписка Выберите подписку Azure, в которую размещается ресурс нагрузочного тестирования. Группа ресурсов Выберите группу ресурсов, содержащую ресурс нагрузочного тестирования. Имя подключения службы Введите уникальное имя подключения к службе. Предоставление разрешения на доступ ко всем конвейерам Флажок установлен. В списке подключений к службе выберите созданный ранее элемент и выберите "Управление субъектом-службой".
Портал Azure откроется на отдельной вкладке браузера и отображает сведения о субъекте-службе.
Скопируйте значение отображаемого имени в портал Azure.
Это значение используется на следующем шаге для предоставления разрешений на выполнение нагрузочных тестов субъекту-службе.
Предоставление доступа к нагрузочному тестированию Azure
Azure Load Testing использует Azure RBAC для предоставления разрешений для выполнения определенных действий в ресурсе нагрузочного тестирования. Чтобы запустить нагрузочный тест из конвейера CI/CD, необходимо предоставить роль участника нагрузочного теста субъекту-службе.
В портал Azure перейдите к ресурсу Azure Load Testing.
Выберите элемент управления доступом (IAM)>Добавить>назначение ролей.
На вкладке "Роль" выберите участника нагрузочного теста в списке ролей функции задания.
На вкладке "Участники" выберите " Выбрать участников", а затем используйте отображаемое имя, скопированное ранее для поиска субъекта-службы.
Выберите субъект-службу и нажмите кнопку "Выбрать".
На вкладке "Рецензирование и назначение" нажмите кнопку "Рецензирование" и "Назначить", чтобы добавить назначение роли.
Теперь вы можете использовать подключение к службе в определении рабочего процесса Azure Pipelines для доступа к ресурсу нагрузочного тестирования Azure.
Добавление файлов нагрузочных тестов в репозиторий
Чтобы запустить нагрузочный тест с помощью Azure Load Testing в рабочем процессе CI/CD, необходимо добавить все входные файлы нагрузочного теста в репозиторий системы управления версиями.
Если у вас нет существующего нагрузочного теста, добавьте следующие файлы в репозиторий исходного кода:
- Файл YAML конфигурации нагрузочного теста. Узнайте, как создать файл конфигурации нагрузочного теста YAML.
- Файл плана тестирования. Для тестов на основе JMeter добавьте скрипт теста JMeter (
JMX
файл). Для тестов на основе URL-адресов добавьте JSON-файл запросов. - Все файлы свойств пользователя JMeter.
- Все входные файлы данных, которые использует план тестирования. Например, CSV-файлы данных.
Если у вас есть нагрузочный тест, можно скачать параметры конфигурации и все входные файлы непосредственно из портал Azure. Выполните следующие действия, чтобы скачать входные файлы для существующего нагрузочного тестирования в портал Azure:
В портал Azure перейдите к ресурсу Azure Load Testing.
На левой панели выберите "Тесты ", чтобы просмотреть список нагрузочных тестов, а затем выберите тест.
Выберите многоточие (...) рядом с тестовый запуск, с которым вы работаете, и нажмите кнопку "Скачать входной файл".
Браузер скачивает архивную папку, содержащую входные файлы нагрузочного теста.
Используйте любое zip-средство для извлечения входных файлов.
Папка содержит следующие файлы:
config.yaml
: файл конфигурации YAML нагрузочного теста. Вы ссылаетесь на этот файл в определении рабочего процесса CI/CD..jmx
: скрипт теста JMeter- Все дополнительные входные файлы, такие как CSV-файлы или файлы свойств пользователя, необходимые для запуска нагрузочного теста.
Зафиксируйте все извлеченные входные файлы в репозиторий системы управления версиями.
Используйте репозиторий исходного кода, в котором настраивается конвейер CI/CD.
Обновление определения рабочего процесса CI/CD
Нагрузочное тестирование Azure поддерживает действия GitHub и Azure Pipelines для выполнения нагрузочных тестов.
Установка расширения Azure Load Testing для Azure DevOps
Чтобы создать и запустить нагрузочный тест, определение рабочего процесса Azure Pipelines использует расширение задачи "Нагрузочное тестирование Azure" из Azure DevOps Marketplace.
Откройте расширение задачи "Нагрузочное тестирование Azure" в Azure DevOps Marketplace и выберите "Получить" бесплатно.
Выберите организацию Azure DevOps и нажмите кнопку "Установить ", чтобы установить расширение.
Если у вас нет прав администратора для выбранной организации Azure DevOps, выберите "Запрос" , чтобы запросить администратора установить расширение.
Обновление рабочего процесса Azure Pipelines
Обновите рабочий процесс Azure Pipelines, чтобы запустить нагрузочный тест для ресурса нагрузочного тестирования Azure.
Войдите в организацию Azure DevOps (
https://dev.azure.com/<your-organization>
) и выберите проект.Выберите конвейеры в левой области навигации, выберите конвейер и выберите "Изменить ", чтобы изменить определение рабочего процесса.
Кроме того, выберите "Создать конвейер", чтобы создать новый конвейер в Azure Pipelines.
AzureLoadTest
Используйте задачу для запуска нагрузочного теста.Укажите файл конфигурации нагрузочного теста, экспортируемый ранее в свойстве
loadTestConfigFile
.<load-testing-resource>
Замените заполнители и<load-testing-resource-group>
текстовые заполнители именем ресурса нагрузочного тестирования Azure и группы ресурсов.- task: AzureLoadTest@1 inputs: azureSubscription: $(serviceConnection) loadTestConfigFile: 'config.yaml' loadTestResource: <load-testing-resource> resourceGroup: <load-testing-resource-group>
При необходимости можно передать параметры или секреты в нагрузочный тест с помощью
env
илиsecrets
свойства.publish
Используйте задачу для публикации результатов теста в качестве артефактов в рабочем процессе Azure Pipelines.- publish: $(System.DefaultWorkingDirectory)/loadTest artifact: loadTestResults
Просмотр результатов нагрузочного теста
При запуске нагрузочного теста из конвейера CI/CD можно просмотреть сводные результаты непосредственно в журнале выходных данных CI/CD. Если вы опубликовали результаты теста в качестве артефакта конвейера, вы также можете скачать CSV-файл для дальнейшего создания отчетов.
Очистка ресурсов
Если вы не планируете использовать какие-либо созданные ресурсы, удалите их, чтобы не нести никаких дополнительных расходов.
Удаление изменений в Azure Pipelines:
Войдите в организацию Azure DevOps (
https://dev.azure.com/<your-organization>
) и выберите проект.Замените заполнитель текста идентификатором
<your-organization>
проекта.Если вы создали новый конвейер":
Если вы изменили существующее определение рабочего процесса, отмените изменения для запуска нагрузочного теста и сохраните рабочий процесс.
Удалите подключение службы:
- Выберите подключения службы параметров>проекта и выберите подключение службы.
- Выберите "Изменить>удаление", чтобы удалить подключение службы.
Следующие шаги
Перейдите к следующей статье, чтобы узнать, как определить регрессию производительности, определив критерии сбоя теста и сравнивая тестовые запуски.