6 Punkte von xguru 2020-04-17 | 1 Kommentare | Auf WhatsApp teilen

Shopify definiert Release-Kultur als „die Summe der Überzeugungen und Handlungen aller Mitglieder“.

„Shipping soll sich nicht wie eine lästige Aufgabe anfühlen, sondern wie etwas, das man feiern kann.“

So misst Shopify seine Release-Kultur

  • Passiv: Umfragen zur Zufriedenheit der Entwickler (alle 2 Jahre), Slack-Kanäle

  • Aktiv: Dogfooding, internes Support-Team, UX-Research

Shopifys Release-Prozess

  • Release-Pipeline: PR → CI/Merge (Merge Queue) → Canary → Production
  • Kein Release-Manager. Der Entwickler, der für den PR zuständig ist, verantwortet den gesamten Prozess bis zur Production.

  • Es gibt kein festes Zeitfenster; der Prozess kann jederzeit mit dem Befehl /shipit gestartet werden.

  • Bei Fehlern/Konflikten erfolgt ein Fast-Track-Release mit /shipit --emergency.

  • Möglichst alles automatisieren

1 Kommentare

 
xguru 2020-04-17

Die Merge Queue lässt sich leichter verstehen, wenn man zuerst den im letzten Jahr veröffentlichten Artikel liest.

"Successfully Merging the Work of 1000+ Developers"

https://engineering.shopify.com/blogs/engineering/…

Shopify nutzt Trunk-based Development, führt pro Tag etwa 400 Commit-Merges durch, und die Website wird ungefähr 40-mal täglich aktualisiert.

Das Deployment erfolgt über die als Open Source veröffentlichte Shipit-Engine https://github.com/Shopify/shipit-engine.

Grundprinzipien

  1. Der Master-Branch ist immer grün: CI muss bestanden werden.

  2. Master sollte nahe an Production sein.

  3. Dringende Merges müssen schnell bearbeitet werden können.