Comment utiliser Bencher dans 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. Créez un fichier GitLab CI/CD (ex: .gitlab-ci.yml)
  2. Créez une job de GitLab CI/CD (ex: benchmark_with_bencher)
  3. Sélectionnez une image Docker pour exécuter votre job (ex: image: rust:bullseye)
  4. Le projet doit dĂ©jĂ  exister. DĂ©finissez le flag --project ou la variable d’environnement BENCHER_PROJECT Ă  l’identifiant ou au slug du projet. (ex: BENCHER_PROJECT: save-walter-white)
  5. Ajoutez BENCHER_API_TOKEN aux secrets de CI/CD de votre projet, sous ParamĂštres -> CI / CD -> Variables -> Ajouter une variable
  6. Le token API doit dĂ©jĂ  exister. DĂ©finissez le flag --token ou la variable d’environnement BENCHER_API_TOKEN au token API. (ex: BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }})
  7. Optionnel : DĂ©finissez le flag --adapter ou la variable d’environnement BENCHER_ADAPTER au nom de l’adaptateur souhaitĂ©. Si cela n’est pas dĂ©fini, alors l’Adaptateur magic sera utilisĂ©. Consultez les adaptateurs de benchmark pour un aperçu complet. (ex: BENCHER_ADAPTER: json)
  8. Optionnel : DĂ©finissez le flag --testbed ou la variable d’environnement BENCHER_TESTBED Ă  l’identifiant ou au slug du Testbed. Le Testbed doit dĂ©jĂ  exister. Si cela n’est pas dĂ©fini, alors le Testbed localhost sera utilisĂ©. (ex: BENCHER_TESTBED: bullseye)
  9. TĂ©lĂ©chargez et installez le Bencher CLI Ă  l’aide du script de commoditĂ©.
  10. Suivez vos benchmarks avec la sous-commande CLI bencher run :
    1. Il existe plusieurs options pour définir la branche du projet. Consultez la sélection de branches pour un aperçu complet. La commande fournie utilise les variables prédéfinies de GitLab CI/CD et elle essaie de :
      1. Utiliser la branche actuelle si elle existe déjà. (ex: --if-branch "$CI_COMMIT_REF_NAME")
      2. Créer un clÎne des données et des seuils de la branche cible de MR si elle existe déjà. (ex: --else-if-branch "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME")
      3. Sinon, créer un clÎne des données et des seuils de la branche main. (ex: --else-if-branch main)
    2. DĂ©finir la commande pour Ă©chouer si une alerte est gĂ©nĂ©rĂ©e. Pour qu’une alerte soit gĂ©nĂ©rĂ©e, un Seuil doit dĂ©jĂ  exister. (ex: --err)
    3. Exécutez vos benchmarks et générez un rapport à partir des résultats. (ex: "bencher mock")


🐰 FĂ©licitations! Vous avez appris Ă  utiliser Bencher dans GitLab CI/CD! 🎉


Continuez : Aperçu du Benchmarking ➡

đŸ€– Ce document a Ă©tĂ© automatiquement gĂ©nĂ©rĂ© par OpenAI GPT-4. Il peut ne pas ĂȘtre prĂ©cis et peut contenir des erreurs. Si vous trouvez des erreurs, veuillez ouvrir une issue sur GitHub.