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
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"
- Crea un archivo GitLab CI/CD (ej:
.gitlab-ci.yml
) - Crea un
job
GitLab CI/CD (ej:benchmark_with_bencher
) - Selecciona una imagen Docker para ejecutar tu trabajo (ej:
image: rust:bullseye
) - El proyecto ya debe existir. Establece la bandera
--project
o la variable de entornoBENCHER_PROJECT
al slug del proyecto o UUID. (ej:BENCHER_PROJECT: save-walter-white
) - Agrega
BENCHER_API_TOKEN
a los secretos de CI/CD de tu proyecto, bajoAjustes -> CI / CD -> Variables -> Agregar Variable
- El token de la API ya debe existir. Establece la bandera
--token
o la variable de entornoBENCHER_API_TOKEN
al token de la API. (ej:BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }}
) - Opcional: Establece la bandera
--adapter
o la variable de entornoBENCHER_ADAPTER
al nombre del adaptador deseado. Si no se establece, se utilizará el adaptadormagic
. Consulta adaptadores de harness de pruebas para una descripción completa. (ej:BENCHER_ADAPTER: json
) - Opcional: Establece la bandera
--testbed
o la variable de entornoBENCHER_TESTBED
al slug del Testbed o UUID. El Testbed debe existir ya. Si no se establece, se utilizará el Testbedlocalhost
. (ej:BENCHER_TESTBED: bullseye
) - Opcional: Crea una variable de entorno para facilitar el seguimiento de la versión de CLI que se está utilizando. (ej:
BENCHER_VERSION: 0.3.18
) - Descarga e instala el CLI de Bencher desde un
.deb
. - Rastrea tus benchmarks con el subcomando CLI
bencher run
:- 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:
- Utilizar la rama actual si ya existe. (ej:
--if-branch "$CI_COMMIT_REF_NAME"
) - 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"
) - En otro caso, crear un clon de los datos de la rama
main
y los umbrales. (ej:--else-if-branch main
)
- Utilizar la rama actual si ya existe. (ej:
- Configura el comando para fallar si se genera una Alerta. Para que se genere una Alerta, ya debe existir un Umbral. (ej:
--err
) - Ejecuta tus benchmarks y genera un Informe a partir de los resultados. (ej:
"bencher mock"
)
- 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:
🐰 ¡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.