Как использовать 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"
- Создайте файл GitLab CI/CD (например,
.gitlab-ci.yml
) - Создайте
job
в GitLab CI/CD (например,benchmark_with_bencher
) - Выберите Docker-образ для выполнения вашего задания (например,
image: rust:bullseye
) - Проект должен уже существовать. Установите флаг
--project
или переменную окруженияBENCHER_PROJECT
на слаг или UUID проекта (например,BENCHER_PROJECT: save-walter-white
) - Добавьте
BENCHER_API_TOKEN
в секреты CI/CD вашего проекта, в разделеНастройки -> CI / CD -> Переменные -> Добавить переменную
- API-токен должен уже существовать. Установите флаг
--token
или переменную окруженияBENCHER_API_TOKEN
на API-токен (например,BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }}
) - Необязательно: установите флаг
--adapter
или переменную окруженияBENCHER_ADAPTER
на желаемое имя адаптера. Если вы его не установите, будет использован адаптерmagic
. См. адаптеры для бенчмаркинга для полного обзора. (например,BENCHER_ADAPTER: json
) - Необязательно: установите флаг
--testbed
или переменную окруженияBENCHER_TESTBED
на слаг или UUID testbed. Testbed должен уже существовать. Если это не установлено, будет использоватьсяlocalhost
Testbed (например,BENCHER_TESTBED: bullseye
) - Необязательно: создайте переменную окружения, чтобы легче отслеживать используемую версию CLI (например,
BENCHER_VERSION: 0.3.18
) - Скачайте и установите CLI Bencher из файла
.deb
. - Отслеживайте свои бенчмарки с помощью подкоманды CLI
bencher run
:- Существует несколько способов установить ветку проекта. См. выбор ветки для полного обзора. Предоставленная команда использует предопределенные переменные GitLab CI/CD и пытается:
- Использовать текущую ветку, если она уже существует. (например,
--if-branch "$CI_COMMIT_REF_NAME"
) - Создать копию данных и пороговой ветки для MR, если она уже существует. (например,
--else-if-branch "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME"
) - В противном случае создать копию данных и порогов главной ветки. (например,
--else-if-branch main
)
- Использовать текущую ветку, если она уже существует. (например,
- Установите команду в состояние ошибки, если сгенерировано предупреждение. Для генерации предупреждения должен уже существовать Порог. (например,
--err
) - Запустите свои бенчмарки и сгенерируйте отчет из результатов. (например,
"bencher mock"
)
- Существует несколько способов установить ветку проекта. См. выбор ветки для полного обзора. Предоставленная команда использует предопределенные переменные GitLab CI/CD и пытается:
🐰 Поздравляем! Вы научились использовать Bencher в GitLab CI/CD! 🎉
Продолжайте: Обзор бенчмаркинга ➡
🤖 Этот документ был автоматически создан OpenAI GPT-4. Оно может быть неточным и содержать ошибки. Если вы обнаружите какие-либо ошибки, откройте проблему на GitHub.