SlideShare uma empresa Scribd logo
1 de 41
mundo python
DO CÓDIGO à PRODUÇÃO
COM GITLAB
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.
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?
QUAIS SÃO AS ETAPAS PARA
DESENVOLVER UM SOFTWARE?
OK…
MAS VAMOS DAR UM PASSO ATRÁS.
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?
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 ...
GESTÃO
DE
CÓDIGO FONTE !
Hum… mas o que seria exatamente isso?
é ver os projetos de forma fácil!
é ter visibilidade das milestones!
é ter visibilidade das issues!
é ver de forma fácil as pessoas que estão no time!
é acompanhar o trabalho do time sem interromper-los!
é ter indicadores sobre ciclo de implementação!
é fazer e acompanhar o code review!
é ter visibilidade real do versionamento do projeto!
é ver de forma fácil a diferença entre as versões!
é, se necessário, ver de forma fácil o código fonte !
é acompanhar os builds do projeto!
é ver os artefatos que serão publicados (imagem docker)!
é ver de forma clara os ambientes onde a aplicação está rodando!
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?
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!
Quem usa?
SÓ ELE QUE FAZ ISSO?
NÃO!
mãos na massa!
com um projeto em python!!!
https://gitlab.com/betterdeveloper-examples/quotes-box-pipeline
PARECEU LEGAL…
MAS, COMO EU CONFIGURO ISSO?
.gitlab-ci.yml
E NA NEXXERA, COMO USAMOS ISSO?
www.nexxera.com
NA NEXXERA, NÓS USAMOS...
GITLAB INTEGRADO COM JIRA
NA NEXXERA, NÓS USAMOS...
TEMPLATES DE ARQUIVO .GITLAB-CI.YML
NA NEXXERA, NÓS USAMOS...
DOCKERFILE’S FORA DO PROJETO
NA NEXXERA, NÓS USAMOS...
CODE REVIEW COM NÚMERO MÍNIMO DE APROVADORES
NA NEXXERA, NÓS USAMOS...
CONVENÇÃO DE CÓDIGO E MÉTRICAS NO PIPELINE
NA NEXXERA, NÓS USAMOS...
AMBIENTES DE TESTES E QUALIDADE
NA NEXXERA, NÓS USAMOS...
CLOUD CORPORATIVA (OPENSHIFT ON-PREMISES)
NA NEXXERA, NÓS USAMOS...
DEPLOY SIMPLIFICADO COM NDEPLOY
NA NEXXERA, NÓS USAMOS...
DADOS SOBRE BUILD DO PROJETO NO README
NA NEXXERA, NÓS USAMOS...
RELATÓRIO PARA VER SAÚDE DOS PROJETOS
OK… É LEGAL,
MAS, POR QUE USAR TUDO ISSO?
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….
uma ferramenta como o gitlab
possibilita maturidade para você ir do
código à produção !
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

Mais conteúdo relacionado

Mais procurados

Palestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço FilhoPalestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço Filhorafarubert
 
Componentes Transformers: Combinando o melhor de cada framework
Componentes Transformers: Combinando o melhor de cada frameworkComponentes Transformers: Combinando o melhor de cada framework
Componentes Transformers: Combinando o melhor de cada frameworkFlávio Lisboa
 
Abordando tdd no i os
Abordando tdd no i osAbordando tdd no i os
Abordando tdd no i osGabriel Oliva
 
Tdd not sure if testing or developing
Tdd  not sure if testing or developingTdd  not sure if testing or developing
Tdd not sure if testing or developingRenato Oliveira
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?Fabio Janiszevski
 
Desmistificando Design Patterns
Desmistificando Design PatternsDesmistificando Design Patterns
Desmistificando Design PatternsMaicon Heck
 
O papel e a carreira do arquiteto de software
O papel e a carreira do arquiteto de softwareO papel e a carreira do arquiteto de software
O papel e a carreira do arquiteto de softwareLeonardo Zanivan
 
Seja Um Programador Pragmatico
Seja Um Programador PragmaticoSeja Um Programador Pragmatico
Seja Um Programador PragmaticoLeonardo Fernandes
 
React e reactividade Meetup Facebook Developer Circles
React e reactividade Meetup Facebook Developer CirclesReact e reactividade Meetup Facebook Developer Circles
React e reactividade Meetup Facebook Developer CirclesJosé Barbosa
 

Mais procurados (20)

Groovy stack
Groovy stackGroovy stack
Groovy stack
 
Palestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço FilhoPalestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço Filho
 
PostgreSQL Rock Star
PostgreSQL Rock StarPostgreSQL Rock Star
PostgreSQL Rock Star
 
Componentes Transformers: Combinando o melhor de cada framework
Componentes Transformers: Combinando o melhor de cada frameworkComponentes Transformers: Combinando o melhor de cada framework
Componentes Transformers: Combinando o melhor de cada framework
 
Qualidade no desenvolvimento de sistemas
Qualidade no desenvolvimento de sistemasQualidade no desenvolvimento de sistemas
Qualidade no desenvolvimento de sistemas
 
Metodos ageis thinkingdifferent
Metodos ageis thinkingdifferentMetodos ageis thinkingdifferent
Metodos ageis thinkingdifferent
 
Jclouds jug vale
Jclouds jug valeJclouds jug vale
Jclouds jug vale
 
Abordando tdd no i os
Abordando tdd no i osAbordando tdd no i os
Abordando tdd no i os
 
Tdd not sure if testing or developing
Tdd  not sure if testing or developingTdd  not sure if testing or developing
Tdd not sure if testing or developing
 
Postgres Chainsaw Massacre
Postgres Chainsaw MassacrePostgres Chainsaw Massacre
Postgres Chainsaw Massacre
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
 
Pep 8
Pep 8Pep 8
Pep 8
 
Desmistificando Design Patterns
Desmistificando Design PatternsDesmistificando Design Patterns
Desmistificando Design Patterns
 
O papel e a carreira do arquiteto de software
O papel e a carreira do arquiteto de softwareO papel e a carreira do arquiteto de software
O papel e a carreira do arquiteto de software
 
O Spring está morto! Viva o Spring!
O Spring está morto! Viva o Spring!O Spring está morto! Viva o Spring!
O Spring está morto! Viva o Spring!
 
JavaFX 2
JavaFX 2JavaFX 2
JavaFX 2
 
Seja Um Programador Pragmatico
Seja Um Programador PragmaticoSeja Um Programador Pragmatico
Seja Um Programador Pragmatico
 
React e reactividade Meetup Facebook Developer Circles
React e reactividade Meetup Facebook Developer CirclesReact e reactividade Meetup Facebook Developer Circles
React e reactividade Meetup Facebook Developer Circles
 
A saga do desenvolvedor java
A saga do desenvolvedor javaA saga do desenvolvedor java
A saga do desenvolvedor java
 
Oracle x PostgreSQL
Oracle x PostgreSQLOracle x PostgreSQL
Oracle x PostgreSQL
 

Destaque

52 anos cuba
52 anos cuba52 anos cuba
52 anos cubaaplalmir
 
Revolução cubana (1959)
Revolução cubana (1959)Revolução cubana (1959)
Revolução cubana (1959)João Marcelo
 
SéCulo Xx – AméRica Latina Site
SéCulo Xx – AméRica Latina   SiteSéCulo Xx – AméRica Latina   Site
SéCulo Xx – AméRica Latina SiteCarlos Glufke
 
Revolução cubana slides
Revolução cubana  slidesRevolução cubana  slides
Revolução cubana slidesLohayne Rosa
 
7 present continuous tense resume
7 present continuous tense resume7 present continuous tense resume
7 present continuous tense resumeCarlos Marte
 
Simple present and Present continuos
Simple present and Present continuosSimple present and Present continuos
Simple present and Present continuosInglesem1minuto
 
Marcello de martino an jaç214 - semana 2 - ntem - inforática educativa i -...
Marcello de martino   an jaç214 -  semana 2 - ntem - inforática educativa i -...Marcello de martino   an jaç214 -  semana 2 - ntem - inforática educativa i -...
Marcello de martino an jaç214 - semana 2 - ntem - inforática educativa i -...Marcello Martino
 
Revolução Cubana
 Revolução Cubana Revolução Cubana
Revolução Cubanarichard17sl
 
Present continous
Present continousPresent continous
Present continousadvUmu
 
Revolução Cubana
Revolução CubanaRevolução Cubana
Revolução CubanaRobert Plant
 
Simple Past X Past Progressive
Simple Past X Past ProgressiveSimple Past X Past Progressive
Simple Past X Past ProgressiveNarielyn Elias
 
Revolução Cubana
Revolução CubanaRevolução Cubana
Revolução CubanaJoão Lima
 
Simple Present X Present Continuous
Simple Present X Present ContinuousSimple Present X Present Continuous
Simple Present X Present ContinuousNarielyn Elias
 

Destaque (18)

52 anos cuba
52 anos cuba52 anos cuba
52 anos cuba
 
Revolução cubana (1959)
Revolução cubana (1959)Revolução cubana (1959)
Revolução cubana (1959)
 
Revolução russa
Revolução russaRevolução russa
Revolução russa
 
SéCulo Xx – AméRica Latina Site
SéCulo Xx – AméRica Latina   SiteSéCulo Xx – AméRica Latina   Site
SéCulo Xx – AméRica Latina Site
 
O Presente Simples
O Presente SimplesO Presente Simples
O Presente Simples
 
Revolução cubana slides
Revolução cubana  slidesRevolução cubana  slides
Revolução cubana slides
 
7 present continuous tense resume
7 present continuous tense resume7 present continuous tense resume
7 present continuous tense resume
 
Revolução cubana
Revolução cubanaRevolução cubana
Revolução cubana
 
Simple present and Present continuos
Simple present and Present continuosSimple present and Present continuos
Simple present and Present continuos
 
Revolução Cubana
Revolução CubanaRevolução Cubana
Revolução Cubana
 
Marcello de martino an jaç214 - semana 2 - ntem - inforática educativa i -...
Marcello de martino   an jaç214 -  semana 2 - ntem - inforática educativa i -...Marcello de martino   an jaç214 -  semana 2 - ntem - inforática educativa i -...
Marcello de martino an jaç214 - semana 2 - ntem - inforática educativa i -...
 
Revolução Cubana
 Revolução Cubana Revolução Cubana
Revolução Cubana
 
Present continous
Present continousPresent continous
Present continous
 
Revolução Cubana
Revolução CubanaRevolução Cubana
Revolução Cubana
 
Simple Past X Past Progressive
Simple Past X Past ProgressiveSimple Past X Past Progressive
Simple Past X Past Progressive
 
Revolução Cubana
Revolução CubanaRevolução Cubana
Revolução Cubana
 
Revolução Cubana
Revolução CubanaRevolução Cubana
Revolução Cubana
 
Simple Present X Present Continuous
Simple Present X Present ContinuousSimple Present X Present Continuous
Simple Present X Present Continuous
 

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

TDC2018FLN | Trilha Python - Do código à produção em projetos Python usando G...
TDC2018FLN | Trilha Python - Do código à produção em projetos Python usando G...TDC2018FLN | Trilha Python - Do código à produção em projetos Python usando G...
TDC2018FLN | Trilha Python - Do código à produção em projetos Python usando G...tdc-globalcode
 
Ux for Developers - Build Better Products
Ux for Developers - Build Better ProductsUx for Developers - Build Better Products
Ux for Developers - Build Better ProductsPedro Marques
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerGiovanni Kenji Shiroma
 
Encontro Locaweb
Encontro  LocawebEncontro  Locaweb
Encontro LocawebFabio Akita
 
Encontro Locaweb Curitiba
Encontro  Locaweb CuritibaEncontro  Locaweb Curitiba
Encontro Locaweb CuritibaFabio Akita
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariTaller Negócio Digitais
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento4Soft
 
Introdução a DevOps e Continuous delivery agileday
Introdução a DevOps e Continuous delivery   agiledayIntrodução a DevOps e Continuous delivery   agileday
Introdução a DevOps e Continuous delivery agiledayCarlos Felippe Cardoso
 
Como usar IA para melhorar a qualidade do seu código
Como usar IA para melhorar a qualidade do seu códigoComo usar IA para melhorar a qualidade do seu código
Como usar IA para melhorar a qualidade do seu códigoEvandro da Silva Amparo
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a TestesGregorio Melo
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonFlávio Ribeiro
 
Rápido ou Ágil? (AgileBrazil 2010)
Rápido ou Ágil? (AgileBrazil 2010)Rápido ou Ágil? (AgileBrazil 2010)
Rápido ou Ágil? (AgileBrazil 2010)Giovanni Bassi
 
Test-Driven Development - Introdução
Test-Driven Development - IntroduçãoTest-Driven Development - Introdução
Test-Driven Development - IntroduçãoHélio Costa e Silva
 
QConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestruturaQConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestruturaDiego Pacheco
 
Não deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkNão deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkGiuseppe Lopes
 

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

TDC2018FLN | Trilha Python - Do código à produção em projetos Python usando G...
TDC2018FLN | Trilha Python - Do código à produção em projetos Python usando G...TDC2018FLN | Trilha Python - Do código à produção em projetos Python usando G...
TDC2018FLN | Trilha Python - Do código à produção em projetos Python usando G...
 
Ux for Developers - Build Better Products
Ux for Developers - Build Better ProductsUx for Developers - Build Better Products
Ux for Developers - Build Better Products
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & Docker
 
Controle de versão com Git
Controle de versão com GitControle de versão com Git
Controle de versão com Git
 
Encontro Locaweb
Encontro  LocawebEncontro  Locaweb
Encontro Locaweb
 
Encontro Locaweb Curitiba
Encontro  Locaweb CuritibaEncontro  Locaweb Curitiba
Encontro Locaweb Curitiba
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Live DIO - CI / CD
Live DIO - CI / CDLive DIO - CI / CD
Live DIO - CI / CD
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento
 
Introdução a DevOps e Continuous delivery agileday
Introdução a DevOps e Continuous delivery   agiledayIntrodução a DevOps e Continuous delivery   agileday
Introdução a DevOps e Continuous delivery agileday
 
Como usar IA para melhorar a qualidade do seu código
Como usar IA para melhorar a qualidade do seu códigoComo usar IA para melhorar a qualidade do seu código
Como usar IA para melhorar a qualidade do seu código
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a Testes
 
Xamarin UI Test + BDD Specflow
Xamarin UI Test + BDD SpecflowXamarin UI Test + BDD Specflow
Xamarin UI Test + BDD Specflow
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando Python
 
Rápido ou Ágil? (AgileBrazil 2010)
Rápido ou Ágil? (AgileBrazil 2010)Rápido ou Ágil? (AgileBrazil 2010)
Rápido ou Ágil? (AgileBrazil 2010)
 
TDC 2015 Florianopolis
TDC 2015 FlorianopolisTDC 2015 Florianopolis
TDC 2015 Florianopolis
 
Test-Driven Development - Introdução
Test-Driven Development - IntroduçãoTest-Driven Development - Introdução
Test-Driven Development - Introdução
 
QConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestruturaQConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestrutura
 
Não deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkNão deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do framework
 

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

  • 1. mundo python DO CÓDIGO à PRODUÇÃO COM GITLAB
  • 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. 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. QUAIS SÃO AS ETAPAS PARA DESENVOLVER UM SOFTWARE? OK… MAS VAMOS DAR UM PASSO ATRÁS.
  • 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. 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. GESTÃO DE CÓDIGO FONTE ! Hum… mas o que seria exatamente isso?
  • 8. é ver os projetos de forma fácil!
  • 9. é ter visibilidade das milestones!
  • 10. é ter visibilidade das issues!
  • 11. é ver de forma fácil as pessoas que estão no time!
  • 12. é acompanhar o trabalho do time sem interromper-los!
  • 13. é ter indicadores sobre ciclo de implementação!
  • 14. é fazer e acompanhar o code review!
  • 15. é ter visibilidade real do versionamento do projeto!
  • 16. é ver de forma fácil a diferença entre as versões!
  • 17. é, se necessário, ver de forma fácil o código fonte !
  • 18. é acompanhar os builds do projeto!
  • 19. é ver os artefatos que serão publicados (imagem docker)!
  • 20. é ver de forma clara os ambientes onde a aplicação está rodando!
  • 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. 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!
  • 24. SÓ ELE QUE FAZ ISSO? NÃO!
  • 25. mãos na massa! com um projeto em python!!! https://gitlab.com/betterdeveloper-examples/quotes-box-pipeline
  • 26. PARECEU LEGAL… MAS, COMO EU CONFIGURO ISSO? .gitlab-ci.yml
  • 27. E NA NEXXERA, COMO USAMOS ISSO? www.nexxera.com
  • 28. NA NEXXERA, NÓS USAMOS... GITLAB INTEGRADO COM JIRA
  • 29. NA NEXXERA, NÓS USAMOS... TEMPLATES DE ARQUIVO .GITLAB-CI.YML
  • 30. NA NEXXERA, NÓS USAMOS... DOCKERFILE’S FORA DO PROJETO
  • 31. NA NEXXERA, NÓS USAMOS... CODE REVIEW COM NÚMERO MÍNIMO DE APROVADORES
  • 32. NA NEXXERA, NÓS USAMOS... CONVENÇÃO DE CÓDIGO E MÉTRICAS NO PIPELINE
  • 33. NA NEXXERA, NÓS USAMOS... AMBIENTES DE TESTES E QUALIDADE
  • 34. NA NEXXERA, NÓS USAMOS... CLOUD CORPORATIVA (OPENSHIFT ON-PREMISES)
  • 35. NA NEXXERA, NÓS USAMOS... DEPLOY SIMPLIFICADO COM NDEPLOY
  • 36. NA NEXXERA, NÓS USAMOS... DADOS SOBRE BUILD DO PROJETO NO README
  • 37. NA NEXXERA, NÓS USAMOS... RELATÓRIO PARA VER SAÚDE DOS PROJETOS
  • 38. OK… É LEGAL, MAS, POR QUE USAR TUDO ISSO?
  • 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. uma ferramenta como o gitlab possibilita maturidade para você ir do código à produção !
  • 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