Como usar o Bencher no 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"
- Crie um arquivo GitLab CI/CD (ex:
.gitlab-ci.yml
) - Crie um
job
GitLab CI/CD (ex:benchmark_with_bencher
) - Selecione uma imagem Docker para executar seu job (ex:
image: rust:bullseye
) - O Projeto já deve existir. Defina o flag
--project
ou a variável de ambienteBENCHER_PROJECT
para o slug ou UUID do Projeto. (ex:BENCHER_PROJECT: save-walter-white
) - Adicione
BENCHER_API_TOKEN
aos segredos de CI/CD do seu projeto, emConfigurações -> CI / CD -> Variáveis -> Adicionar Variável
- O token da API já deve existir. Defina o flag
--token
ou a variável de ambienteBENCHER_API_TOKEN
para o token da API. (ex:BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }}
) - Opcional: Defina o flag
--adapter
ou a variável de ambienteBENCHER_ADAPTER
para o nome do adaptador desejado. Se isso não for definido, então o Adaptadormagic
será usado. Consulte adaptadores de harness de benchmark para uma visão geral completa. (ex:BENCHER_ADAPTER: json
) - Opcional: Defina o flag
--testbed
ou a variável de ambienteBENCHER_TESTBED
para o slug ou UUID do Testbed. O Testbed deve já existir. Se isso não for definido, então o Testbedlocalhost
será usado. (ex:BENCHER_TESTBED: bullseye
) - Opcional: Crie uma variável de ambiente para facilitar o rastreio da versão da CLI em uso. (ex:
BENCHER_VERSION: 0.3.18
) - Baixe e instale a CLI do Bencher de um
.deb
. - Monitore seus benchmarks com o subcomando CLI
bencher run
:- Existem várias opções para definir o branch do projeto. Consulte seleção de branch para uma visão geral completa. O comando fornecido usa variáveis predefinidas do GitLab CI/CD e tenta:
- Usar o branch atual se já existir. (ex:
--if-branch "$CI_COMMIT_REF_NAME"
) - Crie um clone dos dados e thresholds do branch alvo do MR se já existir. (ex:
--else-if-branch "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME"
) - Caso contrário, crie um clone dos dados e thresholds do branch
main
. (ex:--else-if-branch main
)
- Usar o branch atual se já existir. (ex:
- Defina o comando para falhar se um Alerta for gerado. Para que um Alerta seja gerado, um Limite deve já existir. (ex:
--err
) - Execute seus benchmarks e gere um relatório a partir dos resultados. (ex:
"bencher mock"
)
- Existem várias opções para definir o branch do projeto. Consulte seleção de branch para uma visão geral completa. O comando fornecido usa variáveis predefinidas do GitLab CI/CD e tenta:
🐰 Parabéns! Você aprendeu a usar o Bencher no GitLab CI/CD! 🎉
Continue: Visão Geral do Benchmarking ➡
🤖 Este documento foi gerado automaticamente pelo OpenAI GPT-4. Pode não ser preciso e pode conter erros. Se você encontrar algum erro, abra um problema no GitHub.