A este mesmo procedimento de construção podem ser adicionadas rotinas como:
- Execução de testes automatizados
- Geração de versões internacionalizadas de seu software
- Disponibilizar a versão atual em desenvolvimento para o cliente
- Criação de relatórios de código como:
- Cobertura de testes
- Inspeção de padrões de codificação
- Estatísticas de acoplamento
Todo o processo segue a arquitetura descrita na imagem abaixo:
O cenário acima pode ser descrito como: (Fonte: Continuous Integration)
- O desenvolvedor envia o código para o controle de versão (SVN, CVS, etc). Enquanto isso a máquina de integração (servidor de Integração Contínua) está verificando o repositório buscando por modificações
- Logo após um commit ser efetuado, o servidor ao verificar que alguma mudança ocorreu no repositório inicia o processo de build baixando os arquivos do Servidor de Controle de Versão. Assim, o script de build é executado, testes são realizados, relatórios gerados, e todo o projeto é integrado.
- O Servidor de Integração envia por e-mail ou outros dispositivos o feedback sobre build para usuários específicos do projeto
- O servidor volta ao estado de Poll buscando por mudanças no repositório
Com relação a ferramentas a serem utilizadas e a comparação entre elas temos 3 que se destacaram. Entre elas temos as ferramentas cruise-control, continuum e hudson.
Minha escolha pessoal é a utilização do Hudson. Entre as funcionalidades que mais me agradam estão:
- Permite a configuração de novos jobs através de interface web.
- Permite a realização de builds distribuídos.
- É um projeto mais ativo com mais desenvolvedores.
- Possui plugin para o eclipse.
- Possui instalador do windows.
- Utilização por parte de grandes projetos.
- Integração com o Maven, SVN, CVS e com outras ferramentas.
- Facilidade maior para configuração do que as outras ferramentas.
Nenhum comentário:
Postar um comentário