Поделиться через


Вручную настройте рабочий процесс CI/CD для выполнения нагрузочных тестов

Вы можете автоматизировать нагрузочный тест в Azure Load Testing, создав конвейер CI/CD. Из этой статьи вы узнаете, как вручную настроить GitHub Actions, Azure Pipelines или другие средства CI для вызова существующего теста в Azure Load Testing. Автоматизируйте нагрузочный тест для непрерывной проверки производительности и стабильности приложения под нагрузкой.

Чтобы добавить существующий нагрузочный тест в конвейер CI/CD:

  • Настройте проверку подлинности службы, чтобы разрешить средству CI подключаться к ресурсу нагрузочного тестирования Azure.
  • Добавьте входные файлы нагрузочного теста в репозиторий, например скрипт теста JMeter и конфигурацию YAML нагрузочного теста.
  • Обновите определение конвейера CI/CD, чтобы вызвать нагрузочное тестирование Azure.

Необходимые компоненты

Настройка проверки подлинности службы

Чтобы запустить нагрузочный тест в рабочем процессе CI/CD, необходимо предоставить разрешение рабочему процессу CI/CD для доступа к ресурсу нагрузочного тестирования. Создайте субъект-службу для рабочего процесса CI/CD и назначьте роль участника нагрузочного теста Azure RBAC.

Создание сервисного подключения в Azure Pipelines

В Azure Pipelines вы создадите подключение к службе в проекте Azure DevOps для доступа к ресурсам в подписке Azure. При создании подключения к службе Azure DevOps создает объект субъекта-службы Microsoft Entra.

  1. Войдите в организацию Azure DevOps (https://dev.azure.com/<your-organization>) и выберите проект.

    Замените заполнитель текста идентификатором <your-organization> проекта.

  2. Выберите параметры>> службы "Параметры проекта" и "Создать подключение службы".

  3. В области подключения к службе выберите Azure Resource Manager и нажмите кнопку "Далее".

  4. Выберите метод проверки подлинности субъекта-службы (автоматически) и нажмите кнопку "Далее".

  5. Введите сведения о подключении службы и нажмите кнопку "Сохранить ", чтобы создать подключение службы.

    Поле значение
    Уровень области Подписка.
    Подписка Выберите подписку Azure, в которую размещается ресурс нагрузочного тестирования.
    Группа ресурсов Выберите группу ресурсов, содержащую ресурс нагрузочного тестирования.
    Имя подключения службы Введите уникальное имя подключения к службе.
    Предоставление разрешения на доступ ко всем конвейерам Флажок установлен.
  6. В списке подключений к службе выберите созданный ранее элемент и выберите "Управление субъектом-службой".

    Снимок экрана: выбор для управления субъектом-службой.

    Портал Azure откроется на отдельной вкладке браузера и отображает сведения о субъекте-службе.

  7. Скопируйте значение отображаемого имени в портал Azure.

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

Предоставление доступа к нагрузочному тестированию Azure

Azure Load Testing использует Azure RBAC для предоставления разрешений для выполнения определенных действий в ресурсе нагрузочного тестирования. Чтобы запустить нагрузочный тест из конвейера CI/CD, необходимо предоставить роль участника нагрузочного теста субъекту-службе.

  1. В портал Azure перейдите к ресурсу Azure Load Testing.

  2. Выберите элемент управления доступом (IAM)>Добавить>назначение ролей.

  3. На вкладке "Роль" выберите участника нагрузочного теста в списке ролей функции задания.

    Снимок экрана: список ролей на странице

  4. На вкладке "Участники" выберите " Выбрать участников", а затем используйте отображаемое имя, скопированное ранее для поиска субъекта-службы.

  5. Выберите субъект-службу и нажмите кнопку "Выбрать".

  6. На вкладке "Рецензирование и назначение" нажмите кнопку "Рецензирование" и "Назначить", чтобы добавить назначение роли.

Теперь вы можете использовать подключение к службе в определении рабочего процесса Azure Pipelines для доступа к ресурсу нагрузочного тестирования Azure.

Добавление файлов нагрузочных тестов в репозиторий

Чтобы запустить нагрузочный тест с помощью Azure Load Testing в рабочем процессе CI/CD, необходимо добавить все входные файлы нагрузочного теста в репозиторий системы управления версиями.

Если у вас нет существующего нагрузочного теста, добавьте следующие файлы в репозиторий исходного кода:

  • Файл YAML конфигурации нагрузочного теста. Узнайте, как создать файл конфигурации нагрузочного теста YAML.
  • Файл плана тестирования. Для тестов на основе JMeter добавьте скрипт теста JMeter (JMX файл). Для тестов на основе URL-адресов добавьте JSON-файл запросов.
  • Все файлы свойств пользователя JMeter.
  • Все входные файлы данных, которые использует план тестирования. Например, CSV-файлы данных.

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

  1. В портал Azure перейдите к ресурсу Azure Load Testing.

  2. На левой панели выберите "Тесты ", чтобы просмотреть список нагрузочных тестов, а затем выберите тест.

    Снимок экрана: список тестов для ресурса Нагрузочного тестирования Azure.

  3. Выберите многоточие (...) рядом с тестовый запуск, с которым вы работаете, и нажмите кнопку "Скачать входной файл".

    Браузер скачивает архивную папку, содержащую входные файлы нагрузочного теста.

    Снимок экрана: скачивание файла результатов для выполнения нагрузочного теста.

  4. Используйте любое zip-средство для извлечения входных файлов.

    Папка содержит следующие файлы:

    • config.yaml: файл конфигурации YAML нагрузочного теста. Вы ссылаетесь на этот файл в определении рабочего процесса CI/CD.
    • .jmx: скрипт теста JMeter
    • Все дополнительные входные файлы, такие как CSV-файлы или файлы свойств пользователя, необходимые для запуска нагрузочного теста.
  5. Зафиксируйте все извлеченные входные файлы в репозиторий системы управления версиями.

    Используйте репозиторий исходного кода, в котором настраивается конвейер CI/CD.

Обновление определения рабочего процесса CI/CD

Нагрузочное тестирование Azure поддерживает действия GitHub и Azure Pipelines для выполнения нагрузочных тестов.

Установка расширения Azure Load Testing для Azure DevOps

Чтобы создать и запустить нагрузочный тест, определение рабочего процесса Azure Pipelines использует расширение задачи "Нагрузочное тестирование Azure" из Azure DevOps Marketplace.

  1. Откройте расширение задачи "Нагрузочное тестирование Azure" в Azure DevOps Marketplace и выберите "Получить" бесплатно.

  2. Выберите организацию Azure DevOps и нажмите кнопку "Установить ", чтобы установить расширение.

    Если у вас нет прав администратора для выбранной организации Azure DevOps, выберите "Запрос" , чтобы запросить администратора установить расширение.

Обновление рабочего процесса Azure Pipelines

Обновите рабочий процесс Azure Pipelines, чтобы запустить нагрузочный тест для ресурса нагрузочного тестирования Azure.

  1. Войдите в организацию Azure DevOps (https://dev.azure.com/<your-organization>) и выберите проект.

  2. Выберите конвейеры в левой области навигации, выберите конвейер и выберите "Изменить ", чтобы изменить определение рабочего процесса.

    Кроме того, выберите "Создать конвейер", чтобы создать новый конвейер в Azure Pipelines.

  3. 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 свойства.

  4. publish Используйте задачу для публикации результатов теста в качестве артефактов в рабочем процессе Azure Pipelines.

        - publish: $(System.DefaultWorkingDirectory)/loadTest
          artifact: loadTestResults
    

Просмотр результатов нагрузочного теста

При запуске нагрузочного теста из конвейера CI/CD можно просмотреть сводные результаты непосредственно в журнале выходных данных CI/CD. Если вы опубликовали результаты теста в качестве артефакта конвейера, вы также можете скачать CSV-файл для дальнейшего создания отчетов.

Снимок экрана: сведения о ведении журнала рабочего процесса.

Очистка ресурсов

Если вы не планируете использовать какие-либо созданные ресурсы, удалите их, чтобы не нести никаких дополнительных расходов.

  1. Удаление изменений в Azure Pipelines:

    1. Войдите в организацию Azure DevOps (https://dev.azure.com/<your-organization>) и выберите проект.

      Замените заполнитель текста идентификатором <your-organization> проекта.

    2. Если вы создали новый конвейер":

      1. Выберите конвейеры и выберите конвейер.

      2. Выберите многоточие и нажмите кнопку "Удалить".

        Снимок экрана: удаление определения Azure Pipelines.

      3. Введите имя конвейера и нажмите кнопку "Удалить ", чтобы удалить конвейер.

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

  2. Удалите подключение службы:

    1. Выберите подключения службы параметров>проекта и выберите подключение службы.
    2. Выберите "Изменить>удаление", чтобы удалить подключение службы.

Следующие шаги

Перейдите к следующей статье, чтобы узнать, как определить регрессию производительности, определив критерии сбоя теста и сравнивая тестовые запуски.