DevOps
Integração
Contínua com
Jenkins
AGILE MARANHÃO
Michel Cordeiro, CSPO, CSM, MBA
Michel Cordeiro
@code_shell
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
Meu Background
DesenvolvedorEstagiário Analista de Sistemas Analista de Negócio Coord. de Desenvolvimento
java, java, java…
java, maven, spring, hibernate…
agile, SM, QA, times, arquiteturas…
MBA, PO, processos, negociação, cliente…
certificações, facilitação, projetos, devops…
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
Mini Bio: Sou Agilista,
Coordenador de Projetos e
Analista de Processos de
Negócio, um apaixonado por
essas áreas há alguns anos.
Atuo no desenvolvimento de
projetos, pessoas e processos.
Certificações: CSPO, CSM
Qualificações:
- Resolução de conflitos para representantes de empresas (ENAM/UnB)
- Formação de Analista de Processos (Gart Capote)
- Modelagem e Simulação de Processos (InnovoGroup)
- MBA em Análise de Processos de Negócio (IGTI)
- Gerenciamento de Projetos com base no PMBOK 4ª edição (TI Exames)
- Instrutor de formação profissional (SENAI-MA)
https://github.com/MichelCordeiro
https://br.linkedin.com/in/michelcordeiro
@code_shell
http://pt.slideshare.net/michelcordeiro
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
E aí ??
AGILE MARANHÃO
Michel Cordeiro, CSPO, CSM, MBA
Ciclo de vida de um
Dev ?
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
AGILE MARANHÃO
Michel Cordeiro, CSPO, CSM, MBA
Como anda o seu
proceso de deploy
??
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
Desenvolvimento Produção
Ambiente
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
Qual foi o problema
???
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
Hummm, mas
em localhost
funciona….
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
Devs Operações
VS
entregar aplicações o mais
rápido possível
ter a certeza que a aplicação
está estável e não vai dar
problema
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
DevOps
AGILE MARANHÃO
Michel Cordeiro, CSPO, CSM, MBA
Integração Contínua
CI
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
"Integração continua é uma pratica de desenvolvimento de software onde os
membros de um time integram seu trabalho freqüentemente. Geralmente uma
pessoa integra pelo menos uma vez ao dia - podendo haver múltiplas integrações
por dia. Cada integração é verificada por um build automatizado(Incluindo os testes)
para detectar erros de integração o mais rápido possível. Muitos times acham que
essa abordagem leva a diminuir significativamente os problemas de integração e
permite que o time desenvolva software coeso mais rapidamente."
-Martin Fowler
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
source code
commit
repository
ci server
ci process
build
test
report
Fluxo básico de CI
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
“O único pré-requisito para um desenvolvedor lançar suas alterações na versão
principal é que ele consiga executar perfeitamente o código. Isso, claro, inclui
passar pelos testes da build. Como com qualquer ciclo de lançamento de código,
o desenvolvedor primeiro atualiza sua cópia de trabalho para coincidir com a
versão principal, resolve qualquer conflito e então gera o build em sua máquina
local. Se o build passar, então ele estará liberado para lançar suas alterações na
versão principal.”
-Martin Fowler
AGILE MARANHÃO
Michel Cordeiro, CSPO, CSM, MBA
Deploy Contínuo
Entrega Contínua
VS
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
Continuous Delivery
Continuous Deployment
Deploy to
production
Deploy to
production
manual
auto
AGILE MARANHÃO
Michel Cordeiro, CSPO, CSM, MBA
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
2004, Sun Microsystems
Linha do tempo…
2005, primeira
versão
2007, Reconhecido como
uma das melhores
opções de código aberto
2010, Oracle requereu
direito ao nome para uma
marca registrada
2004 2005 2007 2010 2011
2011, Surge o fork
do Hudson. Enfim,
JENKINS!
2013
2013, mais de 567 membros
no GitHub, cerca de 1.110
repositórios públicos.
O Hudson possui apenas 32
membros e 17 repositórios.
….
Atualmente são
mais de 600
plugins e é a
ferramenta de CI
mais popular
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
Um pouco de Jenkins na prática…
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
Demonstração prática do
Jenkins com:
source code
commit
repository
ci server
ci process
build
test
report
atualização em código
Gitlab
Jenkins
Sonarqube e artifactory
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
Arquitetura de Exemplo
source code
servidor de buildservidor de web
Tecnologias:
- Jenkins (https://jenkins.io/)
- Sonarqueb (http://www.sonarqube.org/)
- Artifactory (https://www.jfrog.com/open-source/)
- Gitlab (https://about.gitlab.com/)
Tecnologias:
- Apache Tomcat 7
- (https://tomcat.apache.org/download-70.cgi)
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
○ Builds periódicos
○ Testes Automatizados
○ Builds em ambientes diferentes do desenvolvedor
○ Possibilita analise de código
○ Possibilita customização
○ Reduzir retrabalho
○ Reduzir custo da entrega
○ Identificar erros mais cedo
○ Fácil de operar e configurar
○ Comunidade ativa
○ UI agradável
○ O jenkins integra com outras ferramentas através de plugins existentes na própria aplicação
Vantagens
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
Michel Cordeiro, CSPO, CSM, MBA
AGILE MARANHÃO
Referências
Livro: Jenkins - Automatize tudo sem complicações
Livro: DevOps na prática: entrega de software confiável e
automatizada

Dev ops integração contínua com jenkins

  • 1.
    DevOps Integração Contínua com Jenkins AGILE MARANHÃO MichelCordeiro, CSPO, CSM, MBA Michel Cordeiro @code_shell
  • 2.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO Meu Background DesenvolvedorEstagiário Analista de Sistemas Analista de Negócio Coord. de Desenvolvimento java, java, java… java, maven, spring, hibernate… agile, SM, QA, times, arquiteturas… MBA, PO, processos, negociação, cliente… certificações, facilitação, projetos, devops…
  • 3.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO Mini Bio: Sou Agilista, Coordenador de Projetos e Analista de Processos de Negócio, um apaixonado por essas áreas há alguns anos. Atuo no desenvolvimento de projetos, pessoas e processos. Certificações: CSPO, CSM Qualificações: - Resolução de conflitos para representantes de empresas (ENAM/UnB) - Formação de Analista de Processos (Gart Capote) - Modelagem e Simulação de Processos (InnovoGroup) - MBA em Análise de Processos de Negócio (IGTI) - Gerenciamento de Projetos com base no PMBOK 4ª edição (TI Exames) - Instrutor de formação profissional (SENAI-MA) https://github.com/MichelCordeiro https://br.linkedin.com/in/michelcordeiro @code_shell http://pt.slideshare.net/michelcordeiro
  • 4.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO E aí ??
  • 5.
    AGILE MARANHÃO Michel Cordeiro,CSPO, CSM, MBA Ciclo de vida de um Dev ?
  • 6.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO
  • 7.
    AGILE MARANHÃO Michel Cordeiro,CSPO, CSM, MBA Como anda o seu proceso de deploy ??
  • 8.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO Desenvolvimento Produção Ambiente
  • 9.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO Qual foi o problema ???
  • 10.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO Hummm, mas em localhost funciona….
  • 11.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO Devs Operações VS entregar aplicações o mais rápido possível ter a certeza que a aplicação está estável e não vai dar problema
  • 12.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO DevOps
  • 13.
    AGILE MARANHÃO Michel Cordeiro,CSPO, CSM, MBA Integração Contínua CI
  • 14.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO "Integração continua é uma pratica de desenvolvimento de software onde os membros de um time integram seu trabalho freqüentemente. Geralmente uma pessoa integra pelo menos uma vez ao dia - podendo haver múltiplas integrações por dia. Cada integração é verificada por um build automatizado(Incluindo os testes) para detectar erros de integração o mais rápido possível. Muitos times acham que essa abordagem leva a diminuir significativamente os problemas de integração e permite que o time desenvolva software coeso mais rapidamente." -Martin Fowler
  • 15.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO source code commit repository ci server ci process build test report Fluxo básico de CI
  • 16.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO “O único pré-requisito para um desenvolvedor lançar suas alterações na versão principal é que ele consiga executar perfeitamente o código. Isso, claro, inclui passar pelos testes da build. Como com qualquer ciclo de lançamento de código, o desenvolvedor primeiro atualiza sua cópia de trabalho para coincidir com a versão principal, resolve qualquer conflito e então gera o build em sua máquina local. Se o build passar, então ele estará liberado para lançar suas alterações na versão principal.” -Martin Fowler
  • 17.
    AGILE MARANHÃO Michel Cordeiro,CSPO, CSM, MBA Deploy Contínuo Entrega Contínua VS
  • 18.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO Continuous Delivery Continuous Deployment Deploy to production Deploy to production manual auto
  • 19.
  • 20.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO 2004, Sun Microsystems Linha do tempo… 2005, primeira versão 2007, Reconhecido como uma das melhores opções de código aberto 2010, Oracle requereu direito ao nome para uma marca registrada 2004 2005 2007 2010 2011 2011, Surge o fork do Hudson. Enfim, JENKINS! 2013 2013, mais de 567 membros no GitHub, cerca de 1.110 repositórios públicos. O Hudson possui apenas 32 membros e 17 repositórios. …. Atualmente são mais de 600 plugins e é a ferramenta de CI mais popular
  • 21.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO Um pouco de Jenkins na prática…
  • 22.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO Demonstração prática do Jenkins com: source code commit repository ci server ci process build test report atualização em código Gitlab Jenkins Sonarqube e artifactory
  • 23.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO Arquitetura de Exemplo source code servidor de buildservidor de web Tecnologias: - Jenkins (https://jenkins.io/) - Sonarqueb (http://www.sonarqube.org/) - Artifactory (https://www.jfrog.com/open-source/) - Gitlab (https://about.gitlab.com/) Tecnologias: - Apache Tomcat 7 - (https://tomcat.apache.org/download-70.cgi)
  • 24.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO ○ Builds periódicos ○ Testes Automatizados ○ Builds em ambientes diferentes do desenvolvedor ○ Possibilita analise de código ○ Possibilita customização ○ Reduzir retrabalho ○ Reduzir custo da entrega ○ Identificar erros mais cedo ○ Fácil de operar e configurar ○ Comunidade ativa ○ UI agradável ○ O jenkins integra com outras ferramentas através de plugins existentes na própria aplicação Vantagens
  • 25.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO
  • 26.
    Michel Cordeiro, CSPO,CSM, MBA AGILE MARANHÃO Referências Livro: Jenkins - Automatize tudo sem complicações Livro: DevOps na prática: entrega de software confiável e automatizada