La culture des releases logicielles chez Shopify
(engineering.shopify.com)Shopify définit la culture des releases comme « la somme des convictions et des actions de tous les membres »
« Faire du shipping non pas une corvée, mais quelque chose qui donne un sentiment de célébration »
Comment Shopify mesure sa culture des releases
-
Passif : enquête sur le bonheur des développeurs (tous les 2 ans), canal Slack
-
Actif : dogfooding, équipe de support interne, recherche UX
Le processus de release chez Shopify
- Pipeline de release : PR → CI/Merge (Merge Queue) → Canary → Production
-
Pas de release manager. Le développeur en charge de la PR s’occupe de l’ensemble du processus jusqu’à la production
-
Pas de fenêtre dédiée ; le processus peut être lancé à tout moment avec la commande
/shipit -
En cas d’erreur/de crash, release en fast-track avec
/shipit --emergency -
Automatiser tout ce qui peut l’être
1 commentaires
Merge Queue : il est plus facile de comprendre en lisant d’abord l’article publié l’an dernier.
"Successfully Merging the Work of 1000+ Developers"
https://engineering.shopify.com/blogs/engineering/…
Shopify pratique le développement basé sur le trunk, avec environ 400 commits fusionnés par jour et près de 40 mises à jour du site quotidiennement.
Le déploiement est effectué via le moteur open source Shipit https://github.com/Shopify/shipit-engine .
Principes de base
La branche master est toujours au vert : il faut passer la CI.
master doit rester proche de la production.
Les fusions urgentes doivent pouvoir être traitées rapidement.