Integração Contínua é um processo que se integra as práticas de desenvolvimento ágil e, visa manter a qualidade no desenvolvimento de software diminuindo assim as falhas, pois o mesmo realiza automaticamente diversos testes e builds automatizados do projeto e caso algo estiver errado ou fora dos padrões pré-estabelecidos (padrões de qualidade) os envolvidos são avisados automaticamente.
O processo de Integração Contínua funciona da seguinte forma, como é mostrado na figura abaixo:
Conforme o Desenvolvedor realiza um commit (envia as alterações do código fonte para o servidor de Controle de Versão) o servidor de Integração Contínua detecta estas alterações e realiza o processo de compilação, testes e, publicação do software para ser homologado.
Vantagens:
- Quando um Teste Unitário falha o programador consegue corrigir sem perda de tempo com debug para descobrir onde está o erro;
- Aviso rápido quando ocorre uma quebra de código;
- Aviso rápido quando ocorre um conflito de versões;
- Disponibilidade constante para realização de testes e demonstrações;
- Relatório de métricas gerados a partir dos teste automatizados;
Desvantagens:
- Requer um longo período para realizar a configuração de todo o processo;
Por hoje terminamos aqui. Nos proximos artigos estarei explicando sobre as ferramentas necessárias para montar um servidor de Integração Contínua.
Até lá ;D
Bom artigo, a integração contínua é algo fantástico, e é um dos grandes desafios dos métodos ágeis. Talvez esteja entre as 3 práticas mais desafiadoras e complexas de se utilizar, pois envolve muitas ferramentas, muita automzatização e em muitos casos mudança de cultura da equipe, mas apesar da complexidade, não tenho dúvidas de que vale a pena.
ResponderExcluir