Servidores de integração CruiseControl contra Hudson

Dezembro 2016

O objetivo desta dica é estabelecer uma comparação entre os dois servidores de integração CruiseControl e o Husdon.

Lembrança sobre as principais funcionalidades de um servidor de integração


Com os servidores de integração você od, principalmente:
  • Comunicar-se com um servidor de gestão de código fonte (SVN, CVS, VSS ...) e fazer as atualizações das alterações detectadas em um diretório local.
  • Executar um ou mais scripts ant ou maven de acordo com a necessidade para fazer a compilação, o empacotamento das pastas do arquivo (jar, war e ear).
  • Incluir plugins para a auditoria do código, os testes e a medição da cobertura dos testes unitários, tais como o findBugs, checkstyle, PMD, emma, cobertura...
  • Execução dos scripts de lançamento dos testes cactus.
  • Execução do servidor de aplicação e implantação das aplicações J2EE com scripts ant e maven.
  • Definir as dependências inter-projetos.
  • Executar tarefas de publicações como o envio de e-mail de notificação sobre o andamento do processo de "build", o resultado do "build" e o resultados dos testes.
  • Enviar e-mail de notificação para as pessoas que quebraram o código.
  • Estabelecer resumos e métricas sobre o processo de "build".


O processo de "build" automatizado e recursivo permite:
  • A detecção eficaz de bugs em níveis diferentes: unitário, integração, funcional e implantação...
  • Aumentar a confiança no código do produto.
  • Aumentar a eficácia dos desenvolvedores.
  • Garantir a qualidade do código produto.
  • Reagir a tempo quanto aos erros de integração e não deixar o projeto derrapar.

Comparação entre Hudson/CruiseControl

  • Existência de interface web: Ambos os servidores têm interfaces web. Eles também são compostos por aplicações web.
  • Ergonomia e intuitividade dos IHC: Os IHC (Interação Humano-Computador) Hudson são mais amigáveis e mais intuitivos.
  • Rico em funcionalidades: Ambos os servidores podem implementar praticamente as mesmas funcionalidades..
  • Portabilidade: Ambos os servidores são constituidos de aplicação J2EE.
  • Nível de dificuldade de instalação e configuração: A configuração do CruiseControl é menos intuitiva.
  • Gestão dos usuários: O CruiseControl não fornece a gestão dos usuários.
  • Riqueza em Plugin: Os principais plugins mais utilizados estão disponíveis para ambos os servidores.
  • Escalabilidade dos IHC e possibilidade de adicionar IHC: O CruiseControl permite adicionar IHC para findBugs, checkstyle...
  • Metric/Síntese/reporting: Os IHC relativos ao reporting, metric e síntese dos builds são mais desenvolvidos no CruiseControl do que no Hudson
  • Escalabilidade e sustentabilidade: A evolução contínua é observada para os dois servidores (o número de versões e atualizações existentes nos dois sites)
  • Documentação: O Hudson é mais recente que o CruiseControl. Assim, o CruiseControl é mais rico em documentação consistente.
  • A disponibilidade de informações sobre bugs e dicas ligadas aos servidores nos fóruns: O CruiseControl tem a vantagem de estar mais presente em fóruns com informações abundantes sobre os bugs, a configuração e muitas outras questões técnicasrecentes.

Conclusão


Em conclusão, os dois servidores de integração fornecem, praticamente, as mesmas características com uma ligeira vantagem para o CruiseControl, vista a riqueza dos seus IHC de reporting, de sua escalabilidade , principalmente, a riqueza da documentação. Aliás, migrar de um servidor para outro não é realmente uma tarefa difícil ou cara. Assim, o CruiseControl e é escolhido como servidor de integração para o ambiente de desenvolvimento integrado alvo. E se o Hudson assume a liderança no futuro, vai ser fácil migrar para este servidor.


Tradução feita por Lucia Maurity y Nouira


Veja também :
Este documento, intitulado « Servidores de integração CruiseControl contra Hudson »a partir de CCM (br.ccm.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.