Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Do código à produção com Gitlab (mundo python)

374 views

Published on

Venha ver como trabalhar de forma rápida e prática com seu projeto iniciando com planejamento de versão, codificação, testes, revisão de código e entrega até fazer a implantação em produção usando as ferramentas Gitlab e Gitlab CI para aplicar conceitos de CI (Continous Integration) e CD (Continous delivery e Continous Deploy) de forma automatizada e amigável. Por fim será mostrado case de como isso é usado no dia a dia na empresa Nexxera.

Autor: Isaac Souza

Published in: Technology

Do código à produção com Gitlab (mundo python)

  1. 1. mundo python DO CÓDIGO à PRODUÇÃO COM GITLAB
  2. 2. ITENS QUE VEREMOS SOBRE ESSE ASSUNTO ⇝ Introdução; ⇝ Etapas para desenvolver um software; ⇝ Processo de desenvolvimento; ⇝ Gestão de código fonte; ⇝ O GitLab; ⇝ “Mãos na massa” com um projeto Python! ⇝ Como faço isso com GitLab; ⇝ Como usamos isso na Nexxera; ⇝ Vantagens de usar tudo isso.
  3. 3. INTRODUÇÃO ⇝ Issues; ⇝ GIT / Branches / Merge Requests; ⇝ Testes / Code Review; ⇝ Pipelines; ⇝ Continuous Integration; ⇝ Continuous Delivery / Continuous Deploy; ⇝ Esteira de Produção; ⇝ Automatização. e... VÁRIOS OUTROS!!! Ao desenvolver um projeto, quais desses assuntos você já ouviu?
  4. 4. QUAIS SÃO AS ETAPAS PARA DESENVOLVER UM SOFTWARE? OK… MAS VAMOS DAR UM PASSO ATRÁS.
  5. 5. AS ETAPAS A SEGUIR SÃO ADEQUADAS? ⇝ Definição do negócio (Epics, Stories); ⇝ Definição de sprint (Issues Técnicas); ⇝ Implementação / Testes; ⇝ Geração de um pacote candidato a produção; ⇝ Implantação em um ambiente para homologação; ⇝ Implantação em produção Acho que sim, parecem boas, mas ENTÃO ACHO QUE !!!... MESMO PARA UM MVP?
  6. 6. PRECISAMOS DE UM PROCESSO DE DESENVOLVIMENTO! Desenvolvimento de software é um processo artesanal! SIM, implementar código é um processo artesanal. MAS… todo o restante pode ser sistematizado e automatizado! OK… Mas qual processo seguir? ⇝ Entenda a criticidade do negócio! ⇝ Conheça as tecnologias utilizadas! ⇝ Pense de forma Lean e Ágil ⇝ Comunicação > Processos ⇝ Pense em ...
  7. 7. GESTÃO DE CÓDIGO FONTE ! Hum… mas o que seria exatamente isso?
  8. 8. é ver os projetos de forma fácil!
  9. 9. é ter visibilidade das milestones!
  10. 10. é ter visibilidade das issues!
  11. 11. é ver de forma fácil as pessoas que estão no time!
  12. 12. é acompanhar o trabalho do time sem interromper-los!
  13. 13. é ter indicadores sobre ciclo de implementação!
  14. 14. é fazer e acompanhar o code review!
  15. 15. é ter visibilidade real do versionamento do projeto!
  16. 16. é ver de forma fácil a diferença entre as versões!
  17. 17. é, se necessário, ver de forma fácil o código fonte !
  18. 18. é acompanhar os builds do projeto!
  19. 19. é ver os artefatos que serão publicados (imagem docker)!
  20. 20. é ver de forma clara os ambientes onde a aplicação está rodando!
  21. 21. ATRAVÉS DO USO DE FERRAMENTAS! DE PREFERÊNCIA, O MÍNIMO DE FERRAMENTAS QUE OFEREÇA TUDO ISSO. o melhor seria apenas 1 =) BLZ… E QUAL PODERIAMOS USAR? E COMO EU CONSIGO ISSO?
  22. 22. o gitlab O que ele é? Ferramenta que unifica: Issues, Code Review, CI e CD em uma UI simples Tenho que pagar pra usar? Não (community / cloud e on-premisses) Sim (enterprise/on-premisses -> $39,00 usuario/ano) É uma ferramenta que evolui? Sim, constantemente, nova versão todo mês!
  23. 23. Quem usa?
  24. 24. SÓ ELE QUE FAZ ISSO? NÃO!
  25. 25. mãos na massa! com um projeto em python!!! https://gitlab.com/betterdeveloper-examples/quotes-box-pipeline
  26. 26. PARECEU LEGAL… MAS, COMO EU CONFIGURO ISSO? .gitlab-ci.yml
  27. 27. E NA NEXXERA, COMO USAMOS ISSO? www.nexxera.com
  28. 28. NA NEXXERA, NÓS USAMOS... GITLAB INTEGRADO COM JIRA
  29. 29. NA NEXXERA, NÓS USAMOS... TEMPLATES DE ARQUIVO .GITLAB-CI.YML
  30. 30. NA NEXXERA, NÓS USAMOS... DOCKERFILE’S FORA DO PROJETO
  31. 31. NA NEXXERA, NÓS USAMOS... CODE REVIEW COM NÚMERO MÍNIMO DE APROVADORES
  32. 32. NA NEXXERA, NÓS USAMOS... CONVENÇÃO DE CÓDIGO E MÉTRICAS NO PIPELINE
  33. 33. NA NEXXERA, NÓS USAMOS... AMBIENTES DE TESTES E QUALIDADE
  34. 34. NA NEXXERA, NÓS USAMOS... CLOUD CORPORATIVA (OPENSHIFT ON-PREMISES)
  35. 35. NA NEXXERA, NÓS USAMOS... DEPLOY SIMPLIFICADO COM NDEPLOY
  36. 36. NA NEXXERA, NÓS USAMOS... DADOS SOBRE BUILD DO PROJETO NO README
  37. 37. NA NEXXERA, NÓS USAMOS... RELATÓRIO PARA VER SAÚDE DOS PROJETOS
  38. 38. OK… É LEGAL, MAS, POR QUE USAR TUDO ISSO?
  39. 39. VAMOS REFLETIR SOBRE OS PONTOS ABAIXO ⇝ Código direto na produção é desafiador ! Mas… o que eu faço quando dá … ? ⇝ E quando preciso ter rastreabilidade? ⇝ E quando preciso ter organização? ⇝ E quando tenho várias pessoas trabalhando no mesmo projeto? ⇝ E quando preciso sincronizar o trabalho de vários times? ⇝ E quando o cara que sabe tudo do projeto sai do time? ⇝ E quando eu preciso ter métricas sobre o desempenho do time? Enfim….
  40. 40. uma ferramenta como o gitlab possibilita maturidade para você ir do código à produção !
  41. 41. OBRIGADO A TODOS! isaacsouza@gmail.com Projeto exemplo em: https://gitlab.com/betterdeveloper-examples/ quotes-box-pipeline Slides em: https://pt.slideshare.net/betterdeveloper www.nexxera.com www.betterdeveloper.net

×