En 2011, la petite équipe de GitHub gérait son infrastructure depuis le chat Campfire, et son bot était devenu « plus gros et plus désordonné ». Ils l'ont réécrit de zéro et l'ont publié en open source sous le nom de Hubot — un bot qui déploie du code, se place devant le serveur de CI et rend les commandes d'exploitation visibles à toute l'entreprise.

Mettre les outils dans la salle de chat : un bot qui déploie du code, exécute la CI et alerte le dernier déployeur lorsque les erreurs explosent — chaque action visible, auditable et ouverte à tous.

Hubot écoute des commandes comme « /deploy my-feature » ; les ingénieurs déploient depuis le chat, et lorsque le taux d'exceptions explose, le bot alerte le dernier déployeur avec un lien vers le tableau de bord interne Haystack, lui assignant implicitement la responsabilité. Il a été publié en open source en 2011, et en 2020 GitHub réalisait encore 120 à 150 déploiements de production par semaine via ChatOps, avec des déploiements canari et des centaines de pull requests regroupées par déploiement.

Le déploiement chez GitHub est devenu une commande de chat que chacun pouvait lancer et que tous pouvaient voir : le même nombre de déploiements hebdomadaires livre désormais bien plus de changements, les retours arrière sont restés assez rares pour bâtir une « culture de confiance », et le terme ChatOps s'est répandu dans l'industrie à mesure que les équipes copiaient le modèle.

En 2011, GitHub était une petite entreprise exploitant un très grand service, et son équipe vivait dans le chat Campfire. Leur bot était devenu « plus gros et plus désordonné », alors ils l'ont réécrit de zéro et l'ont publié en open source : Hubot, « un formidable bot Campfire » qui les faisait rire, déployait leur code et servait d'interface à leur serveur de CI.

La pratique est devenue ce que GitHub appelait le ChatOps : les ingénieurs lancent « /deploy my-feature » dans le chat, et Hubot gère l'authentification, les étapes et les déploiements canari. Lorsque les exceptions explosent après un déploiement, Hubot alerte le dernier déployeur avec un lien vers Haystack, le tableau de bord interne des exceptions de GitHub — « le bénéfice immédiat de cette alerte est qu'elle désigne implicitement un responsable ».

En 2020, le modèle était mature : l'équipe de déploiement de GitHub décrivait des déploiements lancés par « une série de commandes Hubot », réalisant 120 à 150 déploiements de production par semaine pour github.com, avec plus de 400 pull requests livrées en une seule semaine, et une confiance suffisante dans le processus pour que les retours arrière restent rares et que les développeurs puissent fusionner puis passer à autre chose.

Cela a supprimé le goulot d'étranglement du « qui a le droit de toucher à la production » — n'importe quel ingénieur pouvait déployer depuis le chat, et l'action était visible par toute l'entreprise.

Le bot rendait la responsabilité implicite : le dernier déployeur est alerté lorsque les erreurs explosent, si bien que les problèmes trouvent un propriétaire au lieu d'attendre un triage.

Parce que chaque commande s'exécutait dans un canal partagé, le déploiement est devenu auditable et transmissible — les nouveaux ingénieurs apprenaient l'exploitation en observant le chat.

La publication de Hubot en open source a transformé une commodité interne en modèle industriel, popularisant le terme ChatOps.

Un outil interne l'emporte lorsqu'il abaisse le coût social de l'action : mettre l'exploitation dans le chat a rendu les déploiements visibles, auditables et sûrs à déléguer — c'est le changement d'interface qui a changé la culture.

Le ChatOps est devenu une pratique largement copiée, et Hubot est devenu un projet communautaire avec des adaptateurs pour Slack, Discord et Teams. Chez GitHub, le pipeline de déploiement a continué d'évoluer — IssueOps et GitHub Actions se sont ensuite appuyés sur la même idée — tandis que le principe sous-jacent, permettre aux gens d'exploiter l'infrastructure depuis les outils qu'ils partagent déjà, est resté central dans la façon dont GitHub livre.

VÉRIFIEZ LES SOURCES

Les sources

  1. Say Hello to Hubot GitHub Blog · github.blog ·
  2. Exception Monitoring and Response GitHub Blog · github.blog ·
  3. DevOps best practices Q&A: Automated deployments at GitHub GitHub Blog · github.blog ·