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
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. Crie um arquivo GitLab CI/CD (ex: .gitlab-ci.yml)
  2. Crie um job GitLab CI/CD (ex: benchmark_with_bencher)
  3. Selecione uma imagem Docker para executar seu job (ex: image: rust:bullseye)
  4. O Projeto já deve existir. Defina o flag --project ou a variável de ambiente BENCHER_PROJECT para o slug ou UUID do Projeto. (ex: BENCHER_PROJECT: save-walter-white)
  5. Adicione BENCHER_API_TOKEN aos segredos de CI/CD do seu projeto, em Configurações -> CI / CD -> Variáveis -> Adicionar Variável
  6. O token da API já deve existir. Defina o flag --token ou a variável de ambiente BENCHER_API_TOKEN para o token da API. (ex: BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }})
  7. Opcional: Defina o flag --adapter ou a variável de ambiente BENCHER_ADAPTER para o nome do adaptador desejado. Se isso não for definido, então o Adaptador magic será usado. Consulte adaptadores de harness de benchmark para uma visão geral completa. (ex: BENCHER_ADAPTER: json)
  8. Opcional: Defina o flag --testbed ou a variável de ambiente BENCHER_TESTBED para o slug ou UUID do Testbed. O Testbed deve já existir. Se isso não for definido, então o Testbed localhost será usado. (ex: BENCHER_TESTBED: bullseye)
  9. Faça o download e instale a Bencher CLI usando o script de conveniência.
  10. Monitore seus benchmarks com o subcomando CLI bencher run:
    1. 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:
      1. Usar o branch atual se já existir. (ex: --if-branch "$CI_COMMIT_REF_NAME")
      2. 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")
      3. Caso contrário, crie um clone dos dados e thresholds do branch main. (ex: --else-if-branch main)
    2. Defina o comando para falhar se um Alerta for gerado. Para que um Alerta seja gerado, um Limite deve já existir. (ex: --err)
    3. Execute seus benchmarks e gere um relatório a partir dos resultados. (ex: "bencher mock")


🐰 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.