PontoNetPT
A comunidade PontoNetPT está direccionada a todos os programadores que trabalhem com a plataforma .NET.
Integração Contínua - CruiseControl.Net

Após longos meses, aqui vai mais um post sobre Integração Contínua, uma prática que tem o potencial para revolucionar a qualidade e produtividade do desenvolvimento de software.

O CruiseControl.Net é um sistema de Integração Contínua. Um sistema destes tem uma função extremamente simples: monitoriza, com períodos tão curtos quanto possível (ao nível dos minutos), projectos guardados num Sistema de Controlo de Versões e quando detecta alterações despoleta o processo de build. Naturalmente que o processo é totalmente automático e os programadores apenas têm de trabalhar como sempre trabalharam: check-out, programar, check-in. Todos vocês usam controlo de versões, não usam?? Este processo tem diversas vantagens, mas a principal é mesmo o feedback extremamente rápido das alterações introduzidas no projecto. Se conjugarmos este ponto com um mecanismo de build robusto e completo, temos um processo extremamente útil.

O CruiseControl.Net realiza a função atrás descrita, oferecendo ainda diversas funcionalidades interessantes:

  • Diversas formas de acompanhamento do processo: através de mail, site ou uma aplicação que se aloja no systray.
  • Integração com diversas aplicações, como o NUnit, o FxCop, o NCover, NAnt e Devenv (Visual Studio.Net), sendo relativamente fácil integrar novas aplicações.
  • Labeling automático de projectos.

Nos últimos dias tive tempo para montar o CruiseControl.Net aqui no emprego e montar o processo do princípio ao fim. Neste momento tenho dois projectos dummies a ser monitorizados. Um deles é um projecto C# constituído por uma BD, uma assembly e um site. O processo de build realiza os seguintes passos:

  • Limpa o ambiente (apaga BD's, site e directoria de build).
  • Retira a última versão do projecto do SourceSafe (código e script sql).
  • Cria a BD.
  • Compila a solução.
  • Cria o site.
  • Testa a solução, via NUnit.
  • Faz análise de code coverage, via NCover.
  • Faz análise de código, via FxCop.
  • Gera documentação, via NDoc.

O outro projecto é bastante mais simples, tem apenas a curiosidade de compilar componente VB6, o que significa que também é possível montar um esquema destes para aplicações COM.

A aplicação de build é o NAnt, que é bastante fácil de utilizar, tendo apenas o senão de o script de build, que é em XML, se poder tornar muito complexo.

Montar todo o processo não foi muito complicado. Vale mesmo a pena apostar num esquema destes.


Posted 2004-8-5 17:22 by João Hugo Miranda

Comments

Anonymous wrote re: Integração Contínua - CruiseControl.Net
on 2009-7-1 1:08
Ora aqui está um post estremamente util e IMPORTANTE!

"Nos últimos dias tive tempo para montar o CruiseControl.Net .....do princípio ao fim."
Pois é, essa é uma dúvida que muitos têm. Como montar tudo certinho, sem esquecer NUnit, o FxCop, o NCover, NAnt , Devenv e NDoc !

Deixo uma sugestão:
Será que, quando tivesses tempo, poderias explicar como montar isso, utilizando um exemplo simples (esquemas) ?
Como parametrizar isso tudo, correctamente :P
Penso que todos da comunidade iriam ler e dar as opiniões de como fazem :P

Um abraço :)
Anonymous wrote re: Integração Contínua - CruiseControl.Net
on 2009-7-1 1:08
Quem sabe, talvez, um artigozinho no site do PontoNetPT :)) heheheh :))))))
Anonymous wrote re: Integração Contínua - CruiseControl.Net
on 2009-7-1 1:08
Sim, mas como monta o crusy control .net?
Anonymous wrote re: Integração Contínua - CruiseControl.Net
on 2009-7-2 1:47
Ora aqui está um post estremamente util e IMPORTANTE!

"Nos últimos dias tive tempo para montar o CruiseControl.Net .....do princípio ao fim."
Pois é, essa é uma dúvida que muitos têm. Como montar tudo certinho, sem esquecer NUnit, o FxCop, o NCover, NAnt , Devenv e NDoc !

Deixo uma sugestão:
Será que, quando tivesses tempo, poderias explicar como montar isso, utilizando um exemplo simples (esquemas) ?
Como parametrizar isso tudo, correctamente :P
Penso que todos da comunidade iriam ler e dar as opiniões de como fazem :P

Um abraço :)
Anonymous wrote re: Integração Contínua - CruiseControl.Net
on 2009-7-2 1:47
Quem sabe, talvez, um artigozinho no site do PontoNetPT :)) heheheh :))))))
Anonymous wrote re: Integração Contínua - CruiseControl.Net
on 2009-7-2 1:47
Sim, mas como monta o crusy control .net?

Add a Comment

(required)
(optional)
(required)  
Remember Me?
Powered by Community Server (Commercial Edition), by Telligent Systems