com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy >...

77
Escalando times e salvando casamentos com continuous delivery Bruno Ghisi @brunogh shipit.resultadosdigitais.com.br

Transcript of com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy >...

Page 1: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Escalando times e salvando casamentos

com continuous delivery

Bruno Ghisi@brunogh

shipit.resultadosdigitais.com.br

Page 2: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Bruno GhisiCTO, Resultados Digitais

@brunogh

Page 3: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

RD Station

Page 4: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

2012

2011 2012

2013 2014hoje

Page 5: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

2015

Page 6: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

+2000 Clientes

Page 7: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

+110 RDoers

Page 8: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

2012

2011 2012

2013 2014hojeCASEI

Page 9: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...
Page 10: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

2014

Page 11: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

300 clientes

Page 12: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

300 clientes7 devs1 time

Page 13: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

1. branch do master2. dev, dev, dev3. abrir PR4. review5. teste em staging6. merge master7. deploy

Page 14: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

EU fazia review, teste, merge e

deploy!

Page 15: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

1. branch do master2. dev, dev, dev3. abrir PR4. review5. teste em staging6. merge master7. deploy

Page 16: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

WAT?

Page 17: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...
Page 18: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...
Page 19: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...
Page 20: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Não escala!

Page 21: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Merge/deploy dos outros não é simples

Page 22: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Merge/deploy dos outros não é simples

Centralizar é falta de confiança

Page 23: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Merge/deploy dos outros não é simples

Centralizar é falta de confiançaGargalo para gerar valor

Page 24: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Merge/deploy dos outros não é simples

Centralizar é falta de confiançaGargalo para gerar valor

Cultura ruim

Page 25: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Empower People

Page 26: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

as pessoas irão fazer cagadas

Page 27: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

#1 Melhorar o processo

Page 28: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Testese

Cobertura

Page 29: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Integração Contínua

Page 30: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Circle CI

Page 31: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...
Page 32: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Métricas

Page 33: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Code Climate

Page 34: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...
Page 35: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Code review

Page 36: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...
Page 37: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...
Page 38: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

as pessoas irão fazer

cagadas #2

Page 39: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

#2 Automatizar

Page 40: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

TheCapybot

Page 41: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...
Page 42: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

+

Page 43: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...
Page 44: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...
Page 45: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

viaslack.com

Page 46: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

slack > hubot interpreta com hubot deploy > API deployment

do Github > avisa Heaven > deploy Heroku

https://github.com/github/hubot: enginehttps://github.com/ResultadosDigitais/hubot-deploy: integração com Github

https://github.com/atmos/heaven: app para deploy

Page 47: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

1. branch do master2. dev, dev, dev3. abrir PR4. review por alguém do time5. deploy via Capybot6. merge master

Page 48: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Quem abriu o PR é responsável por levá-lo a produção

Page 49: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...
Page 50: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Todos felizes

Page 51: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

as pessoas irão fazer

cagadas #3

Page 52: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

#3 nova cultura

Page 53: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Devops

Page 54: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

QA

Page 55: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

compartilharaprendizado

entre os times

Page 56: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

#1 processo #2 automatizar #3 cultura

Page 57: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

e como se recuperar dos problemas?

Page 58: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

localstaging

prod

Page 59: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

1) TestesDatabase forks

Page 60: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

1) TestesDatabase forks

PRs incrementais

Page 61: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

1) Testes Database forks

PRs incrementaisCanary deployment

Page 62: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

2) Plano BHorário agendado e

roteiro

Page 63: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

2) Plano BHorário agendado e

roteiroEstratégia de rollback (automático e scripts)

Page 64: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

In God we trust,all the others must bring

DATA

Page 65: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

New Relic

Librato

Page 66: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Don't call us,we will call you

Page 67: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Log Entries

Rollbar

Page 68: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

mesmo assim um dia você irá falhar feio

Page 69: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...
Page 70: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

não é uma praga, é o custo de

andar rápido e crescer

Page 71: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

seja transparente e saiba pedir

desculpas

Page 72: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...
Page 73: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

gera ainda mais confiança no

processo

Page 74: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Para você que não acompanhou

até agora:

Page 75: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

se você está fazendo algo que não escala, comece a mudar hoje

Page 76: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

se você está fazendo algo que não escala, comece a mudar hoje

e salve seu relacionamento!

Page 77: com continuous delivery salvando casamentos shipit ......slack > hubot interpreta com hubot deploy > API deployment do Github > avisa Heaven > deploy Heroku  engine  ...

Bruno Ghisi@brunogh

bruno.ghisi@resultadosdigitais.com.brshipit.resultadosdigitais.com.br