La cultura de lanzamientos de software en Shopify
(engineering.shopify.com)Shopify define la cultura de lanzamientos como "la suma de las creencias y acciones de todos los miembros"
"Hacer shipping no debe sentirse como algo que da flojera hacer, sino como algo para celebrar"
Cómo mide Shopify la cultura de lanzamientos
-
Pasivo: encuesta de satisfacción de desarrolladores (cada 2 años), canal de Slack
-
Activo: dogfooding, equipo de soporte interno, investigación de UX
Proceso de lanzamiento de Shopify
- Pipeline de lanzamiento: PR → CI/Merge (Merge Queue) → Canary → Production
-
No hay release manager. El desarrollador a cargo del PR se encarga de todo el proceso hasta llegar a producción
-
No hay una ventana específica y se puede avanzar en cualquier momento con el comando
/shipit -
Si ocurre un error/fallo, se hace un lanzamiento por vía rápida con
/shipit --emergency -
Automatizar todo lo posible
1 comentarios
Será más fácil de entender si primero lees el artículo publicado el año pasado sobre Merge Queue.
"Successfully Merging the Work of 1000+ Developers"
https://engineering.shopify.com/blogs/engineering/…
Shopify usa desarrollo basado en trunk, fusiona alrededor de 400 commits al día y el sitio cambia unas 40 veces por día.
Las implementaciones se realizan a través de su motor de código abierto Shipit https://github.com/Shopify/shipit-engine.
Principios básicos
La rama master siempre debe estar en verde: tiene que pasar CI.
master debe estar cerca de Production.
Las fusiones de emergencia deben poder procesarse rápidamente.