continuous integration
ci – continuous integration
“Integração Contínua é uma pratica de desenvolvimento de software onde
os membros de um time integram seu trabalho frequentemente, geralmente
cada pessoa integra pelo menos diariamente – podendo haver múltiplas
integrações por dia. Cada integração é verificada por um build automatizado
(incluindo testes) para detectar erros de integração o mais rápido possível.
Muitos times acham que essa abordagem leva a uma significante redução
nos problemas de integração e permite que um time desenvolva software
coeso mais rapidamente.”
Martin Fowler
Boas Praticas em CI
• commits frequentes
• tornar seus builds auto-testáveis
• builds automatizados
• builds rápidos
O que é Jenkins ?
• Servidor Open Source e grátis de CI
• Aproximadamente 330 plugins
• Interface amigável para builds e deploys ?
• Extremamente flexível e multiplataforma
build (conceito)
• recuperar o fonte do source control
• compilar (caso a plataforma requeira)
• criar um guid de versionamento
• salvar os compilados no source control
especifico
source control
• recupera versão correta no trunk no source
control
• organizar arquivos caso necessário
compilação
• compila os fontes utilizando ferramentas
como msbuild, Ant, Nant, maven ...
• organizar sistema de pacotes caso necessário
versionamento
• criar versionamento do build de acordo com
padrão pré-estabelecido ex: v9d2013-09-
05_10-10-36
source control
servidor de CI
JENKINS
build
V21d2013-09-05_15-25-33
deploy (conceito)
Deploy – significa distribuir instalar um software
ou sistema e um ou n servidores, atender a
todos os requisitos necessários para que o
sistema ou software funcione em um
determinado ambiente.
source control
source + build
servidor de CI
JENKINS
V21d2013-09-05_15-25-33
ServidorJohnDoe
source control
configurações
Servidor Web
John Doe
Servidor Web
Foo
Servidor Web
Bar
JENKINS JENKINS JENKINS
source control
backup package
portalportal
Gostou da apresentação ?
Clona lá no git
git clone https://github.com/ggodas/CI-jenkins.git

Continuous integration with jenkins

  • 1.
  • 2.
    ci – continuousintegration “Integração Contínua é uma pratica de desenvolvimento de software onde os membros de um time integram seu trabalho frequentemente, geralmente cada pessoa integra pelo menos diariamente – podendo haver múltiplas integrações por dia. Cada integração é verificada por um build automatizado (incluindo testes) para detectar erros de integração o mais rápido possível. Muitos times acham que essa abordagem leva a uma significante redução nos problemas de integração e permite que um time desenvolva software coeso mais rapidamente.” Martin Fowler
  • 3.
    Boas Praticas emCI • commits frequentes • tornar seus builds auto-testáveis • builds automatizados • builds rápidos
  • 4.
    O que éJenkins ? • Servidor Open Source e grátis de CI • Aproximadamente 330 plugins • Interface amigável para builds e deploys ? • Extremamente flexível e multiplataforma
  • 5.
    build (conceito) • recuperaro fonte do source control • compilar (caso a plataforma requeira) • criar um guid de versionamento • salvar os compilados no source control especifico
  • 6.
    source control • recuperaversão correta no trunk no source control • organizar arquivos caso necessário compilação • compila os fontes utilizando ferramentas como msbuild, Ant, Nant, maven ... • organizar sistema de pacotes caso necessário versionamento • criar versionamento do build de acordo com padrão pré-estabelecido ex: v9d2013-09- 05_10-10-36
  • 7.
    source control servidor deCI JENKINS build V21d2013-09-05_15-25-33
  • 8.
    deploy (conceito) Deploy –significa distribuir instalar um software ou sistema e um ou n servidores, atender a todos os requisitos necessários para que o sistema ou software funcione em um determinado ambiente.
  • 9.
    source control source +build servidor de CI JENKINS V21d2013-09-05_15-25-33 ServidorJohnDoe source control configurações Servidor Web John Doe Servidor Web Foo Servidor Web Bar JENKINS JENKINS JENKINS source control backup package portalportal
  • 10.
    Gostou da apresentação? Clona lá no git git clone https://github.com/ggodas/CI-jenkins.git