Как использовать Bencher в GitLab CI/CD


benchmark_with_bencher:
    image: rust:bullseye
    variables:
      BENCHER_PROJECT: save-walter-white
      BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }}
      BENCHER_ADAPTER: json
      BENCHER_TESTBED: bullseye
      BENCHER_VERSION: 0.3.18
    before_script:
      - wget https://github.com/bencherdev/bencher/releases/download/v${BENCHER_VERSION}/bencher_${BENCHER_VERSION}_amd64.deb
      - dpkg -i bencher_${BENCHER_VERSION}_amd64.deb
    script:
      - |
        bencher run \
        --if-branch "$CI_COMMIT_REF_NAME" \
        --else-if-branch "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" \
        --else-if-branch main \
        --err \
        "bencher mock"
  1. Создайте файл GitLab CI/CD (например, .gitlab-ci.yml)
  2. Создайте job в GitLab CI/CD (например, benchmark_with_bencher)
  3. Выберите Docker-образ для выполнения вашего задания (например, image: rust:bullseye)
  4. Проект должен уже существовать. Установите флаг --project или переменную окружения BENCHER_PROJECT на слаг или UUID проекта (например, BENCHER_PROJECT: save-walter-white)
  5. Добавьте BENCHER_API_TOKEN в секреты CI/CD вашего проекта, в разделе Настройки -> CI / CD -> Переменные -> Добавить переменную
  6. API-токен должен уже существовать. Установите флаг --token или переменную окружения BENCHER_API_TOKEN на API-токен (например, BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }})
  7. Необязательно: установите флаг --adapter или переменную окружения BENCHER_ADAPTER на желаемое имя адаптера. Если вы его не установите, будет использован адаптер magic. См. адаптеры для бенчмаркинга для полного обзора. (например, BENCHER_ADAPTER: json)
  8. Необязательно: установите флаг --testbed или переменную окружения BENCHER_TESTBED на слаг или UUID testbed. Testbed должен уже существовать. Если это не установлено, будет использоваться localhost Testbed (например, BENCHER_TESTBED: bullseye)
  9. Необязательно: создайте переменную окружения, чтобы легче отслеживать используемую версию CLI (например, BENCHER_VERSION: 0.3.18)
  10. Скачайте и установите CLI Bencher из файла .deb.
  11. Отслеживайте свои бенчмарки с помощью подкоманды CLI bencher run:
    1. Существует несколько способов установить ветку проекта. См. выбор ветки для полного обзора. Предоставленная команда использует предопределенные переменные GitLab CI/CD и пытается:
      1. Использовать текущую ветку, если она уже существует. (например, --if-branch "$CI_COMMIT_REF_NAME")
      2. Создать копию данных и пороговой ветки для MR, если она уже существует. (например, --else-if-branch "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME")
      3. В противном случае создать копию данных и порогов главной ветки. (например, --else-if-branch main)
    2. Установите команду в состояние ошибки, если сгенерировано предупреждение. Для генерации предупреждения должен уже существовать Порог. (например, --err)
    3. Запустите свои бенчмарки и сгенерируйте отчет из результатов. (например, "bencher mock")


🐰 Поздравляем! Вы научились использовать Bencher в GitLab CI/CD! 🎉


Продолжайте: Обзор бенчмаркинга ➡

🤖 Этот документ был автоматически создан OpenAI GPT-4. Оно может быть неточным и содержать ошибки. Если вы обнаружите какие-либо ошибки, откройте проблему на GitHub.