Как запустить файл YML в GitLab CI/CD с JMX и CSV файлами?

Вопрос или проблема

0

Я пытаюсь настроить GitLab CI/CD пайплайн, который запускает тест производительности JMeter, используя файл .jmx и файл .csv. У меня есть файл JMX (GIS_2CSV_sample_sya.jmx) и файл CSV (Config_Setup_LotInfo_sample.csv), которые я хочу использовать в пайплайне.

Пока что мне удалось создать базовый файл .gitlab-ci.yml, но я не уверен, как правильно его настроить для запуска тестов JMeter с этими файлами. Не мог бы кто-нибудь помочь мне с правильным синтаксисом или шагами для настройки GitLab CI/CD пайплайна для этого сценария?

Вот что я пробовал до сих пор в своем .gitlab-ci.yml:

stages:

jmeter
report
variables:

Настройки сжатия и общие
FF_USE_FASTZIP: “true” ARTIFACT_COMPRESSION_LEVEL: “fastest” CACHE_COMPRESSION_LEVEL: “fastest”

Настройки проекта и окружения
ENV: “prd” PROJECT: “nvis” TARGET: “jmeter”

Файлы тестов JMeter
JMX_FILE: “GIS_2CSV_sample_sya.jmx” CSV_FILE_PATH: “results.csv” JMX_WRITE: “result_output”

jmeter-build: stage: jmeter image: registry.example.com/jmeter_base:1.0.3 before_script: # Копируем файл JMX в директорию JMeter – cp JMeter-sample/GIS_2CSV_sample_sya.jmx /opt/apache-jmeter-5.6.3 – mkdir -p “$BUILD_PATH” script: # Запускаем тест JMeter – sh jmeter -Jjmeter.save.saveservice.timestamp_format=”yyyy/MM/dd HH:mm:ss” -n -t /opt/apache-jmeter-5.6.3/GIS_2CSV_sample_sya.jmx -l /opt/apache-jmeter-5.6.3/GIS_2CSV_sample_sya.csv -e -o /GIS_2CSV_sample_sya – cp /opt/apache-jmeter-5.6.3/GIS_2CSV_sample_sya.csv /builds/example/devops/jmeter/report && cp -r /GIS_2CSV_sample_sya /builds/example/devops/jmeter/report

report_job: stage: report image: alpine:3.8 dependencies: – jmeter-build

У меня возникают проблемы с правильным связыванием файлов JMX и CSV, и я хочу убедиться, что пайплайн успешно выполняет тест и генерирует отчет. Вот что я пробовал, но я не уверен, правильные ли пути к файлам и синтаксис.

Не мог бы кто-нибудь помочь мне выявить любые проблемы в файле .gitlab-ci.yml, особенно с тем, как запустить тест JMeter, используя файл .jmx с файлом .csv в GitLab CI/CD пайплайне?

Заранее спасибо!

Ответ или решение

Как запустить YML файл в GitLab CI/CD с использованием JMX и CSV файлов

Внедрение GitLab CI/CD для запуска производительных тестов с использованием Apache JMeter является важной задачей, которая позволяет автоматизировать проверку производительности приложений. В данном ответе мы рассмотрим, как правильно настроить файл .gitlab-ci.yml для выполнения тестов с использованием .jmx и .csv файлов.

Шаг 1: Подготовьте необходимые файлы

Убедитесь, что файлы, необходимые для тестирования — GIS_2CSV_sample_sya.jmx и Config_Setup_LotInfo_sample.csv — находятся в репозитории, чтобы GitLab CI/CD мог к ним получить доступ. Оба файла должны быть размещены в соответствующих директориях.

Шаг 2: Настройка .gitlab-ci.yml

Вот пример файла .gitlab-ci.yml, который поможет вам настроить CI/CD для запуска тестов JMeter:

stages:
  - jmeter
  - report

variables:
  # Общие настройки
  FF_USE_FASTZIP: "true"
  ARTIFACT_COMPRESSION_LEVEL: "fastest"
  CACHE_COMPRESSION_LEVEL: "fastest"

  # Конфигурация проекта
  ENV: "prd"
  PROJECT: "nvis"
  TARGET: "jmeter"

  # Параметры для JMeter
  JMX_FILE: "GIS_2CSV_sample_sya.jmx"
  CSV_FILE: "Config_Setup_LotInfo_sample.csv"
  JMX_OUTPUT_DIR: "result_output"

jmeter-build:
  stage: jmeter
  image: registry.example.com/jmeter_base:1.0.3
  before_script:
    - mkdir -p /opt/apache-jmeter-5.6.3
    - cp JMeter-sample/${JMX_FILE} /opt/apache-jmeter-5.6.3/
    - cp JMeter-sample/${CSV_FILE} /opt/apache-jmeter-5.6.3/

  script:
    - ./jmeter -Jjmeter.save.saveservice.timestamp_format="yyyy/MM/dd HH:mm:ss" -n -t /opt/apache-jmeter-5.6.3/${JMX_FILE} -l /opt/apache-jmeter-5.6.3/results.jtl -e -o ${JMX_OUTPUT_DIR} -JcsvInputFile=/opt/apache-jmeter-5.6.3/${CSV_FILE}

  artifacts:
    paths:
      - ${JMX_OUTPUT_DIR}
      - /opt/apache-jmeter-5.6.3/results.jtl

report_job:
  stage: report
  image: alpine:3.8
  dependencies:
    - jmeter-build
  script:
    - echo "Генерация отчета из результатов JMeter"
    - # Здесь можно добавить команды для анализа результатов и создания отчетов

Шаг 3: Пояснения по настройке

  1. Стадии: В вашем файле определены две стадии: jmeter для запуска теста и report для обработки отчетов.

  2. Переменные: Определяем переменные, которые позволят гибко управлять файлами JMeter и настройками окружения.

  3. jmeter-build:

    • before_script: Копируем .jmx и .csv файлы в контейнер JMeter перед выполнением скрипта.
    • script: Выполняем JMeter с указанием необходимых параметров:
      • -t — путь к .jmx файлу.
      • -l — файл для хранения результатов выполнения теста.
      • -e — команда для генерации отчетов.
      • -J — передаем параметры из CSV файла.
  4. artifacts: Указываем результаты тестирования, которые будут доступны для следующих этапов. Это помогает обеспечить доступ к отчетам после выполнения теста.

  5. report_job: Создаем отдельную стадию для генерации отчетов. В этом этапе можно добавить команды для анализа и визуализации результатов тестирования.

Заключение

Правильная настройка файла .gitlab-ci.yml позволяет упростить и автоматизировать процессы тестирования в вашем CI/CD. Обязательно протестируйте конфигурацию и отладьте путь к вашим файлам, чтобы убедиться, что все работает корректно. Используйте приведенные выше инструкции как базовый шаблон для настройки вашего пайплайна в GitLab CI/CD.

Оцените материал
Добавить комментарий

Капча загружается...