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

Próximo deploy: em uma hora

Próximo deploy: em uma hora

DevOpsDays Porto Alegre, julho/2016.

Um relato sobre como estruturamos nosso pipeline para ir para produção nove vezes ao dia

A apresentação aborda técnicas e ferramentas utilizadas 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.

Bárbara Hartmann

July 09, 2016
Tweet

More Decks by Bárbara Hartmann

Other Decks in Programming

Transcript

  1. PRÓXIMO DEPLOY: EM UMA HORA Um relato sobre como estruturamos

    nosso pipeline para ir para produção nove vezes ao dia Bárbara Hartmann Eduardo Aquiles Bárbara Hartmann Eduardo Aquiles
  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 para Cloud Hosting Aplicação front-end

    consumindo APIs Fina camada back-end com Python Pequeno Banco de Dados com Cassandra Diversos 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. ...

  16. Práticas TDD Pair programming Feature Toggles Pull Requests e CD

    (wat?) Mudanças pequenas ChatOps DevOps Como faz? 2 8 Radiadores de informação
  17. 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