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

Continuous Integration and Continuous Delivery for Mobile

Continuous Integration and Continuous Delivery for Mobile

Essa apresentação faz parte do material do 22º CocoaTalks BH, onde abordei os temas de Integração contínua e Entrega contínua. Fiz algumas alterações no texto original para ficar mais explicativo os slides.

Paulo Gama

August 29, 2017
Tweet

More Decks by Paulo Gama

Other Decks in Technology

Transcript

  1. PAULO GAMA (FEIJÃO) Formado em Ciência da Computação - Universidade

    Federal de Lavras Consultor de Desenvolvimento na ThoughtWorks Lavras (Capital do Sul de Minas)
  2. INTEGRAÇÃO CONTÍNUA O que é? Uma prática de desenvolvimento de

    software onde os integrantes de uma equipe agregam sua cópia de trabalho frequentemente, normalmente diversas vezes ao dia. Os passos costumam ser de integrar, ‘buildar' e testar o código. Esse termo originou-se com o processo de desenvolvimento XP (Extreme Programming) como uma das doze práticas originais. Qual a importância? Garantir que todos estão trabalhando com o mesmo nível de qualidade de desenvolvimento, onde em cada commit avalia- se o código como um todo e como ele se comporta sendo integrado ao restante do código. Provê um rápido feedback em relação à possíveis problemas e aumenta a confiança para se desenvolver em cima de um código que já foi submetido a uma bateria de testes anteriormente. Qual o valor para o negócio? Pequenas entregas durante todas as fases de desenvolvimento e cada uma dessas entregas são confiáveis o bastante para estar em um ambiente de produção. Códigos com mais qualidade, auto-testáveis e coesos. Dificuldades conhecidas Quebra de paradigmas e processos não ágeis nos times, alinhamento com o resto do negócio, priorizar a qualidade das entregas em relação a prazos enxutos, comprometimento de todos.
  3. ENTREGA CONTÍNUA O que é? É a habilidade de levar

    as mudanças realizadas para o ambiente de produção através de uma interação de um usuário de um jeito seguro, rápido e sustentável. Qual a importância? Reduz o risco do deploy, progresso de desenvolvimento comprovado e feedback rápido para o usuário. Qual o valor para o negócio? Transfere a responsabilidade de deploy para a área de negócios. Implementar Continuous Delivery significa ter certeza que toda alteração que passa com sucesso pela pipeline de deploy estará em um estado “ready to deploy”, mesmo que tenha sido alterada centenas de vezes por diversas pessoas. Com isso essas alterações estarão prontas para irem para produção com um clique em um botão, demorando segundos/minutos para terminar todo esses processo.
  4. FRASES DE EFEITO “Nobody has a higher priority task than

    fixing the build.” - Kent Beck “Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove.” - Martin Fowler