2. 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
3. Boas Praticas em CI
• 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)
• recuperar o fonte do source control
• compilar (caso a plataforma requeira)
• criar um guid de versionamento
• salvar os compilados no source control
especifico
6. 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
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