Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Produção nove vezes ao dia - Como um time da Ra...

Produção nove vezes ao dia - Como um time da Rackspace torna isso possível?

Técnicas e ferramentas são usadas no nosso time para garantir que as entregas em produção de um projeto com 5 anos de vida tenham valor e qualidade e sejam feitas 9 vezes ao dia, 5 dias por semana, 12 meses ao ano. Palestra realizada no TDC - Porto Alegre.

Roberto Soares

October 07, 2016
Tweet

More Decks by Roberto Soares

Other Decks in Programming

Transcript

  1. PRODUÇÃO 9X AO DIA Um relato sobre como estruturamos nosso

    pipeline para ir para produção nove vezes ao dia Bárbara Hartmann Eduardo Aquiles inajara Leppa Roberto Soares
  2. Agenda Um pouco sobre o projeto Como enviamos mudanças para

    o pipeline? Técnicas & ferramentas para manter a cadência Pontos para melhoria e dores
  3. O Projeto Painel de Controle Rackspace Aplicação front-end consumindo APIs

    Fina camada back-end com Python Pequeno Banco de Dados com Cassandra Vários sub-times
  4. O processo de desenvolvimento Crie sua branch Faça seus commits

    Build Branch! Peça revisões Vá em frente, execute o merge!
  5. O processo de desenvolvimento Crie sua branch Faça seus commits

    Build Branch! Peça revisões Vá em frente, execute o merge!
  6. O processo de desenvolvimento Crie sua branch Faça seus commits

    Build Branch! Peça revisões Vá em frente, execute o merge!
  7. testes unitários (js,python) linters (js,python,ruby) arquivo de dist é criado

    uma tag de pré-release é criada o arquivo de dist é associado à respectiva tag no GitHub o código é deployado em um nodo de teste smoke test é executado Build Branch!
  8. O processo de desenvolvimento Crie sua branch Faça seus commits

    Build Branch! Peça revisões Vá em frente, execute o merge!
  9. O processo de desenvolvimento Crie sua branch Faça seus commits

    Build Branch! Peça revisões Vá em frente, execute o merge!
  10. O processo de desenvolvimento Crie sua branch Faça seus commits

    Build Branch! Peça revisões Vá em frente, execute o merge!
  11. O processo de desenvolvimento Crie sua branch Faça seus commits

    Build Branch! Peça revisões Vá em frente, execute o merge!
  12. O processo de desenvolvimento Crie sua branch Faça seus commits

    Build Branch! Peça revisões Vá em frente, execute o merge!
  13. Código na Master! testes unitários (js,python) linters (js,python,ruby) arquivo de

    dist é criado uma tag de release é criada o arquivo de dist é associado à respectiva tag no GitHub Esperar o próximo ônibus
  14. O ônibus parte de hora em hora 9 vezes por

    dia e leva a última tag de release do GitHub até produção
  15. Pontos de Dor Aplicação grande rodar todos testes localmente pode

    levar horas múltiplas Single Page Application (SPA) processo de deploy leva ~ 1 hora Poucos builds verdes dependentes da estabilidade de outras APIs a rede é (in)stável