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

Workshop - Devops, CI e CD com Java - DevsJavaGirl

Marylly
August 03, 2019

Workshop - Devops, CI e CD com Java - DevsJavaGirl

Marylly

August 03, 2019
Tweet

More Decks by Marylly

Other Decks in Programming

Transcript

  1. Nossxs monitorxs Helenice Analista Programadora [email protected] Helenice Holopainen @helenice_as Kamila

    FullStack Developer [email protected] @kamila_code @kamilah_santos Maiara Desenvolvedora Backend [email protected] @the_maihe @the_maihe Na caverna que você tem medo de entrar está o tesouro que você procura - Joseph Campbell Apaixonada pela forma como a tecnologia impacta a vida das pessoas, quero que a tecnologia seja um ambiente mais inclusivo em todos os lugares, adoro espalhar a palavra do código, participar de comunidades e compartilhar conteúdo. Se lembrem que de hoje em diante, a História estará observando vocês
  2. Deixe me apresentar Atua com software desde 2005, formada em

    Sistemas de Informação (UMESP, 13), pós-graduada em Gestão Pública (FESPSP, 2015), Facilitadora/instrutora do projeto #MinasProgramam e da comunidade #WWGSP. Mais nova membro do #DevsJavaGirl, Consultora de desenvolvimento de software na ThoughtWorks. Menina e mulher de familiar de cor e simples da região periférica de SP Marylly
  3. Networking diverso e comprometido Por que atuo em projetos feministas?

    Desigualdade de Gênero Desigualdade Racial Desigualdade Social Ação Afirmativa Desconstruir padrões intrínsecos sociais do que é ser mulher no dias atuais, fortalecendo mulheres em seus desejos e nas construções como pessoas individuais Focar as ações a favor de pessoas que sofrem barreiras pelas suas características que são discriminadas ainda estruturas institucionais e sociais originadas na história do nosso país. Trazer oportunidades para pessoas que têm difícil acesso por questôes socias e econômicas, que são impostas como padrões implicitamente para fazer parte da nossa sociedade.
  4. Primeiro: O que não é Devops? Times de operação, qualidade

    e desenvolvimento atuam de forma separada e independente, e em times separados, e os objetivos não são compartilhados Silos tradicionais Responsabilizar e centralizar a responsabilidade de fazer o devops acontecer, sendo que é a cultura que todos da empresa devem praticar Devops Job Description Considerar que só a existência do pipeline é ter cultura devops, pior ainda CI Theatre que é um pipeline que não executa nada quando código novo é integrado ao repositório principal Pipeline de implementação e CI Theatre Time de qualidade passa maior parte ocioso aguardando um grande deploy e tem um pico de trabalho somente quando algo vai para produção, não tem tempo e mão de obra para apoiar na qualidade mínima da entrega que está sendo feita. Qualidade atua somente na entrega em Produção
  5. O que é Devops? Atuam do início ao fim, colaborando

    entre si desde da concepção até a entrega em produção. Desenvolvimento e Operação são do mesmo time Todas as ferramentas deve estar abertas, documentadas e de fácil acesso para qualquer um possa resolver os problemas independente do contexto: Operação, desenvolvimento, qualidade e/ou segurança. Trabalho Colaborativo em Transparente Os objetivos de entregar valor devem ser estar objetiva e acessível para todos das empresa Alinhamento com Plano Negócio Envolver qualidade e segurança desde da concepção para definir objetivos básicos para serem atendidos durante o desenvolvimento Qualidade e Segurança deve ser envolvida desde do início
  6. History Trazido pela Toyota no seu processo de chão de

    fábrica de automóveis Movimento Lean 2001 2008 2013 2007 2011 2017 2019 1980 Talk de John Allspaw e Paul Hammond “10 Deploys per Day: Dev and Ops at Flickr" Velocity Conference Erics Ries lança técnicas de implementação contínua no livro StartUp Enxuta Movimento Lean StartUp Organizado por Patrick Dubois, nasce o nome DevOps, discussões iniciam no Twitter 1º DevopsDay na Bélgica Patrick Debois e Andrew Shafer começando a falar sobre as barreiras Dev e Ops Agile Conference (Toronto - Canadá) 17 líderes de pensamento de desenvolvimento de software iniciam o movimento ágil Manifesto Ágil Primeiro relatório sobre o cenário devops construído pela Puppet Labs. 1º State of Devops Survey Primeiro centralizador de logs que utiliza IA The Blue Matador Monitoring Aqui estamos nós 2006 Conceito de “pipeline de implantação” ampliado em apresentado no Agile 2006 Movimento Entrega Contínua 2009
  7. Princípios da entrega de software Automatize quase tudo Todos são

    responsáveis pelo processo de entrega Pronto que dizer versão entregue em produção Melhoria Contínua Faça coisas difíceis com frequência e sofra menos Faça controle de versão de tudo Processo confiável e repetível de entrega Qualidade e Segurança desde o início
  8. O que define que algo está pronto? Quantas Vezes você

    já ouviu um desenvolvedor dizer que uma história ou funcionalidade está "pronta"?
  9. Por que versão entregue em produção? Quantas Vezes você já

    ouviu um desenvolvedor dizer que uma história ou funcionalidade está "pronta"?
  10. O que é integração contínua? Prática de juntar com frequência

    alterações de código no repositório central/principal, testes são executados para obter feedback rápido sobre a qualidade de uma implementação, originando um processo cultural por um time.
  11. O que é entrega contínua? Get a modern PowerPoint Presentation

    that is beautifully designed. Easy to change colors, photos and Text. Contents Title Get a modern PowerPoint Presentation that is beautifully designed. Easy to change colors, photos and Text. Contents Title Get a modern PowerPoint Presentation that is beautifully designed. Easy to change colors, photos and Text. Contents Title Get a modern PowerPoint Presentation that is beautifully designed. Easy to change colors, photos and Text. Contents Title
  12. O que é um pipeline de implantação? É uma esteira

    com etapas de empacotamento, testes e avaliação de qualidade de uma implementação integrada ao um repositório central/principal.
  13. Como construir um pipeline? Modelar fluxo de valor e criar

    o esqueleto do processo Automatizar os processos de compilação e implantação Automatizar os testes unitários e análise de código Automatizar os testes de aceitação Automatizar a entrega como um todo
  14. Pipeline de Implementação Pequenos testes independentes sobre vários trechos (ou

    unidades) do código. Testes de Unidade Erros de sintaxe, garantindo que o código esteja de acordo com guias de estilo da linguagem e/ou equipe Testes de Lint Integração e comportamento de um serviço e/ou aplicação. Testes de Integração Testes com as dependências e clientes da aplicação, chamados de teste fim-a-fim ou integrados. Testes e2e Compilação e geração do pacote para efetuar o deploy nos servidores Build Implantação do pacote avaliado nos ambientes existentes: dev, staging, prod. Deployment
  15. Referências A Short History Lesson in DevOps — And Where

    It’s Going - https://dzone.com/articles/a-short-history-lesson-in-devops-and-where-its-goi-1. Acessado em 24 de Julho de 2019 às 10:24 am. O que significa integração contínua? - https://aws.amazon.com/pt/devops/continuous-integration/. Acessado em 1 de Agosto de 2019 às 16:33. Automated Quality Assurance and Maven - https://www.youtube.com/watch?v=bRFVukVIcao Maven vs Gradle : quem ganha, afinal? - https://deviniciative-wordpress-com.cdn.ampproject.org/c/s/deviniciative.wordpress.com/2019/06/23/maven-vs-gradle-quem-ganha-afinal/amp/ Repositório do workshop: https://github.com/marylly/ci-cd-java-workshop