Как использовать 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
before_script:
- curl --proto '=https' --tlsv1.2 -sSfL https://bencher.dev/download/install-cli.sh | sh
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. Скачайте и установите Bencher CLI используя удобный скрипт.
  10. Отслеживайте свои бенчмарки с помощью подкоманды 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.