6 ポイント 投稿者 xguru 2020-04-17 | 1件のコメント | WhatsAppで共有

Shopifyはリリース文化を「すべてのメンバーの信念と行動の総和」と定義

「Shippingがやりたくない作業ではなく、お祝いのように感じられるようにする」

Shopifyがリリース文化を測定する方法

  • 受動的: 開発者幸福度調査(2年ごと)、Slackチャンネル

  • 能動的: ドッグフーディング、社内サポートチーム、UXリサーチ

Shopifyのリリースプロセス

  • リリースパイプライン: PR → CI/Merge( Merge Queue) → Canary → Production
  • リリースマネージャーはいない。PRを担当した開発者が本番環境に至るまでの全プロセスを担当

  • 特定のウィンドウはなく、いつでも/shipitコマンドで進行

  • エラー/衝突発生時は/shipit --emergencyでファストトラックリリース

  • 可能な限りすべてを自動化

1件のコメント

 
xguru 2020-04-17

Merge Queue は、昨年公開された記事を先に読むと理解しやすいです。

"Successfully Merging the Work of 1000+ Developers"

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

Shopify はトランクベース開発を行っており、1日に約400件のコミットをマージし、1日に40回ほどサイトが変更されます。

オープンソースとして公開された Shipit エンジン https://github.com/Shopify/shipit-engine を通じてデプロイを進めています。

基本原則

  1. master ブランチは常に Green:CI を通過していなければならない

  2. master は Production に近い状態であるべき

  3. 緊急マージは迅速に処理できなければならない