Top Banner
Integração contínua Maior controle do projeto e maior produtividade
15

Integração Contínua

Dec 19, 2014

Download

Documents

Lucimara Lima

Material apresentado a equipe de desenvolvedores da SEFIN
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Integração Contínua

Integração contínua

Maior controle do projeto e maior produtividade

Page 2: Integração Contínua

Integração Contínua

“Uma prática de desenvolvimento de softwareonde os membros de uma equipe integram seutrabalho frequentemente, normalmente ao menosuma vez ao dia para cada pessoa - levando amúltiplas integrações diárias...”

Martin Fowler

Page 3: Integração Contínua

O que é Integração Contínua (IC)?

Definição:• Um repositório central para todos os membros da

equipe, contendo:o o último código;o o último executável.

• Um processo automatizado para "building" e testar todos os processos ativos, que:o possa ser rodado várias vezes ao dia;o seja auto-suficiente.

Kevin A. Lee, Technical Consultant, IBM

Page 4: Integração Contínua

O que é Integração Contínua (IC)?

Page 5: Integração Contínua

Estilo de integração contínua

• Síncrona: feita por um programador depois de algumas horas de desenvolvimento.

• Assíncrona: é utilizado uma ferramenta específica que verifica as últimas atualizações e faz um build completo do sistema.

Page 6: Integração Contínua

Vantagens

• O esforço para integrarmos o código é menor;• O potencial de erros diminui e eventuais erros

podem ser tratados mais facilmente;• Economia de tempo em relação aos esforços na

procura de defeitos;• Gerar software funcionando a qualquer momento;• Melhora o trabalho em equipe.

Page 7: Integração Contínua

Porém...

Integração Contínua não elimina os bugs, mas torna as tarefas de localizá-los mais fácil e mais rápido.

Page 8: Integração Contínua

Ferramentas para IC

Page 9: Integração Contínua

Ferramentas para IC: AnthillPro

• Suporte a múltiplos projetos;• Agendamento de projetos;• Permite iniciar execução de um projeto

manualmente;• Configuração do sistema via interface Web;• Completa informação sobre os projetos: javadoc,

resultados de testes, métricas etc;• Suporte a CVS, Performace, PVCS, VSS,

StartTeam, MKS;• Envio de resultados via e-mail;

Page 10: Integração Contínua

Ferramentas para IC: Apache Continuum

• Fácil instalação;• Suporta cinco sistemas de controle de versão:

Subversion, CVS, StarTeam, Bazaar  e Perforce;• Fácil configuração através de uma interface web;• Desenvolvido em java;• Suporte nativo a ANT, Maven 1 e 2 e Shell Script

para outras linguagens;• Notificação de build: Mail, Jabber e Google Talk,

MSN, IRC, relatório de desenvolvimento com wagon;

Page 11: Integração Contínua

Ferramentas para IC: CruiseControl

• Gerenciador de builds de código aberto e gratuito;• Integra-se a vários sistemas de gerenciamento de

configuração (CVS, PVCS, Subversion, ClearCase, ...);

• Funciona  com qualquer ferramenta de build que produza um resultado tratável (Ant Maven);

• Independência de plataforma;• Bem documentado;

Page 12: Integração Contínua

Ferramentas para IC: CruiseControl

• Como funciona?o Desenvolvedor publica seu trabalho no controle de

código-fonte (CVS, SVN)o CruiseControl verifica periodicamente o controle de

código-fonte; o Se o CruiseControl detecta alguma mudança:

Dispara um build;Captura logs e artefatos do build;Publica os resultados.

Page 13: Integração Contínua

Ferramentas para IC: CruiseControl

• É composto por dois módulos:o Execução do build;o Repositório dos resultados;

• Do que precisamos?o Servidor de builds;o Servidor de controle de código;o Processo bem definido;o Ferramentas (CruiseControl, Ant etc);o Responsabilidades do servidor:

Atualizar o repositório frequentemente;O código deve ser compilável;O código deve ter testes unitários;

...

Page 14: Integração Contínua

Referências• http://www.ibm.com/developerworks/rational/library/sep05/lee/• http://www.martinfowler.com/articles/continuousIntegration.html• http://unibrain.com.br/recursos/artigos/integracao-continua/• http://www.slideshare.net/luthiano/integrao-contnua-com-cruisecontrol• http://www.visaoagil.com/• http://www.improveit.com.br/xp/praticas/integracao

Page 15: Integração Contínua

Obrigada!

Elizandra Amarantehttp://[email protected]

Lucimara Benignohttp://lucimarabenigno.wordpress.com/

[email protected]