6 pontos por xguru 2020-04-17 | 1 comentários | Compartilhar no WhatsApp

A Shopify define a cultura de releases como "a soma das crenças e ações de todos os membros"

"Fazemos com que shipping não seja algo que as pessoas não queiram fazer, mas sim algo com clima de celebração"

Como a Shopify mede sua cultura de releases

  • Passivamente: pesquisa de satisfação dos desenvolvedores (a cada 2 anos), canais no Slack

  • Ativamente: dogfooding, equipe de suporte interno, pesquisa de UX

Processo de release da Shopify

  • Pipeline de release: PR → CI/Merge (Merge Queue) → Canary → Production
  • Não há release manager. O desenvolvedor responsável pelo PR cuida de todo o processo até chegar à produção

  • Não existe janela específica, e o processo pode ser feito a qualquer momento com o comando /shipit

  • Em caso de erro/falha, usa-se /shipit --emergency para um release em via rápida

  • Automatizar tudo o que for possível

1 comentários

 
xguru 2020-04-17

É mais fácil entender a Merge Queue se você ler primeiro o texto publicado no ano passado.

"Successfully Merging the Work of 1000+ Developers"

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

A Shopify adota desenvolvimento baseado em trunk, faz merge de cerca de 400 commits por dia, e o site é alterado cerca de 40 vezes por dia.

Os deploys são feitos por meio do Shipit Engine, que foi lançado como open source: https://github.com/Shopify/shipit-engine

Princípios básicos

  1. A branch master está sempre verde: é preciso passar no CI

  2. A master deve estar próxima de Production

  3. Merges urgentes precisam poder ser processados rapidamente