Auto-hébergement Docker


Qu’est-ce que Bencher ?

Bencher est une suite d’outils de benchmarking continu. Avez-vous déjà subi une régression de performance affectant vos utilisateurs ? Bencher aurait pu prévenir cela. Bencher vous permet de détecter et de prévenir les régressions de performance avant qu’elles n’atteignent la production.

  • Exécuter : Exécutez vos benchmarks localement ou dans CI en utilisant vos outils de benchmarking préférés. L’interface en ligne de commande bencher encapsule simplement votre harnais de benchmarking existant et stocke ses résultats.
  • Suivre : Suivez les résultats de vos benchmarks au fil du temps. Surveillez, interrogez et visualisez les résultats à l’aide de la console web Bencher en fonction de la branche source, du banc d’essai, et du type de métrique.
  • Capturer : Capturez les régressions de performance dans CI. Bencher utilise des analyses à la pointe de la technologie, personnalisables, pour détecter les régressions de performance avant qu’elles n’atteignent la production.

Pour les mêmes raisons pour lesquelles les tests unitaires sont exécutés dans CI pour prévenir les régressions de fonctionnalités, les benchmarks devraient également être exécutés dans CI avec Bencher pour prévenir les régressions de performance. Les bugs de performance sont des bugs !

Bencher est open source et auto-hébergeable. Si vous êtes intéressé par l’utilisation de Bencher Cloud, consultez le tutoriel de démarrage rapide de Bencher Cloud. Pour ce tutoriel, nous allons utiliser Bencher Self-Hosted avec Docker.


Cloner le Répertoire

Pour suivre ce tutoriel, vous devrez avoir git installé. Vérifiez si vous avez installé git.

Exécutez : git --version

Vous devriez voir quelque chose comme :

$ git --version
git version 2.37.3

Il est acceptable si votre numéro de version est différent. Il est important que cette commande fonctionne. Si ce n’est pas le cas, suivez les instructions pour installer git.


Avec git installé, nous pouvons maintenant cloner le référentiel Bencher.

Exécutez : git clone --branch v0.3.18 https://github.com/bencherdev/bencher.git

Vous devriez voir quelque chose comme :

$ git clone https://github.com/bencherdev/bencher.git
Cloning into 'bencher'...
remote: Enumerating objects: 24752, done.
remote: Counting objects: 100% (7363/7363), done.
remote: Compressing objects: 100% (2396/2396), done.
remote: Total 24752 (delta 4862), reused 7274 (delta 4785), pack-reused 17389
Receiving objects: 100% (24752/24752), 4.92 MiB | 12.43 MiB/s, done.
Resolving deltas: 100% (16108/16108), done.

Exécuter les serveurs d’interface utilisateur et d’API de Bencher

Pour exécuter les serveurs d’interface utilisateur et d’API dans ce tutoriel, vous devrez avoir docker installé. Vérifiez si vous avez installé docker.

Exécutez : docker --version

Vous devriez voir quelque chose comme :

$ docker --version
Docker version 20.10.17, build 100c701

Il est acceptable si votre numéro de version est différent. C’est simplement important que cette commande fonctionne. Si ce n’est pas le cas, suivez les instructions pour installer docker.


Avec docker installé, nous pouvons maintenant exécuter les serveurs d’interface utilisateur et d’API.

Exécutez : docker compose up -d

Vous devriez voir quelque chose comme :

$ docker compose up -d
[+] Running 16/16
 ⠿ bencher_ui Pulled                                           5.9s
 ...
 ⠿ bencher_api Pulled                                          6.3s
 ...
[+] Running 3/3
 ⠿ Network bencher_default      Started                        0.1s
 ⠿ Container bencher_ui         Started                        0.8s
 ⠿ Container bencher_api_local  Started                        0.4s

Là encore, il est normal que votre sortie soit différente. Il est simplement important que cette commande fonctionne.


Ensuite, vérifiez que les deux conteneurs docker sont en cours d’exécution.

Exécutez : docker ps

Vous devriez voir quelque chose comme :

$ docker ps
CONTAINER ID   IMAGE                                 COMMAND                  CREATED              STATUS              PORTS                                           NAMES
1d2ed7c7481e   bencherdev/bencher-ui:latest          "/docker-entrypoint.…"   About a minute ago   Up About a minute   0.0.0.0:3000->80/tcp, :::3000->80/tcp           bencher_ui
7a8590d7021a   bencherdev/bencher-api-local:latest   "/api"                   About a minute ago   Up About a minute   0.0.0.0:61016->61016/tcp, :::61016->61016/tcp   bencher_api_local

Comme avant, il est normal que votre sortie soit différente. Il est simplement important que cette commande fonctionne.


Journaux du serveur API Bencher

Jetons un coup d’oeil aux journaux du serveur API Bencher.

Exécutez : docker compose logs bencher_api

Comme nous n’aurons pas encore configuré de courrier/SMTP sur le serveur API, les codes de confirmation que vous recevrez plus tard dans le tutoriel seront dans les journaux du serveur.


Configurer l’hôte de Bencher

L’hôte par défaut de l’interface en ligne de commande bencher est Bencher Cloud (c’est-à-dire https://api.bencher.dev). Donc, vous devez configurer votre nom d’hôte. La façon la plus simple de faire cela est avec la variable d’environnement BENCHER_HOST.

Exécutez : export BENCHER_HOST=http://localhost:61016

Si vous exécutez alors : echo $BENCHER_HOST

Vous devriez voir :

$ echo $BENCHER_HOST
http://localhost:61016


🐰 Félicitations ! Vous avez configuré Bencher Auto-Hébergé ! 🎉 Vous pouvez maintenant poursuivre avec le tutoriel de démarrage rapide en utilisant Bencher Auto-Hébergé.


Continuer: Démarrage Rapide ➡

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