Cómo usar Bencher en 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. Crea un archivo GitLab CI/CD (ej: .gitlab-ci.yml)
  2. Crea un job GitLab CI/CD (ej: benchmark_with_bencher)
  3. Selecciona una imagen Docker para ejecutar tu trabajo (ej: image: rust:bullseye)
  4. El proyecto ya debe existir. Establece la bandera --project o la variable de entorno BENCHER_PROJECT al slug del proyecto o UUID. (ej: BENCHER_PROJECT: save-walter-white)
  5. Agrega BENCHER_API_TOKEN a los secretos de CI/CD de tu proyecto, bajo Ajustes -> CI / CD -> Variables -> Agregar Variable
  6. El token de la API ya debe existir. Establece la bandera --token o la variable de entorno BENCHER_API_TOKEN al token de la API. (ej: BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }})
  7. Opcional: Establece la bandera --adapter o la variable de entorno BENCHER_ADAPTER al nombre del adaptador deseado. Si no se establece, se utilizará el adaptador magic. Consulta adaptadores de harness de pruebas para una descripción completa. (ej: BENCHER_ADAPTER: json)
  8. Opcional: Establece la bandera --testbed o la variable de entorno BENCHER_TESTBED al slug del Testbed o UUID. El Testbed debe existir ya. Si no se establece, se utilizará el Testbed localhost. (ej: BENCHER_TESTBED: bullseye)
  9. Descarga e instala la CLI de Bencher usando el script de conveniencia.
  10. Rastrea tus benchmarks con el subcomando CLI bencher run:
    1. Hay varias opciones para establecer la rama del proyecto. Consulta selección de rama para una descripción completa. El comando proporcionado utiliza variables predefinidas de GitLab CI/CD e intenta:
      1. Utilizar la rama actual si ya existe. (ej: --if-branch "$CI_COMMIT_REF_NAME")
      2. Crear un clon de los datos de la rama objetivo MR y los umbrales si ya existe. (ej: --else-if-branch "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME")
      3. En otro caso, crear un clon de los datos de la rama main y los umbrales. (ej: --else-if-branch main)
    2. Configura el comando para fallar si se genera una Alerta. Para que se genere una Alerta, ya debe existir un Umbral. (ej: --err)
    3. Ejecuta tus benchmarks y genera un Informe a partir de los resultados. (ej: "bencher mock")


🐰 ¡Felicidades! ¡Has aprendido cómo usar Bencher en GitLab CI/CD! 🎉


Continúa: Descripción general de Benchmarking ➡

🤖 Este documento fue generado automáticamente por OpenAI GPT-4. Puede que no sea exacto y contenga errores. Si encuentra algún error, abra un problema en GitHub.