Pergunta

Eu uso atualmente subversão para meu controle de versão via AhnkSVN e Estúdio Visual.Recentemente comecei a usar Cirurgião de árvore para montar meus projetos.Ele cria um script de construção automaticamente usando NAnt.Eu gostaria de poder automatizar projetos regularmente dentro do SVN.Gosto da ideia de fazer uma compilação a cada check-in, mas as compilações noturnas também funcionariam.Eu daria mais informações ou mais pensamentos, mas decidi deixar em aberto e ver o que a comunidade SO tem a dizer.

Foi útil?

Solução

Você poderia usar CruiseControl.Net, que pode fazer uma compilação a cada check-in, compilações noturnas ou como você quiser.Uma rápida pesquisa no Google sugere que CC.Net tem alguns integração com NAnt já.

Outras dicas

Como outros mencionaram, usamos CCNET aqui, que normalmente não trabalhamos em uma compilação noturna, mas sim com uma estratégia de Integração Contínua (a cada check-in).

Eu aconselharia fazer o mesmo, seja sozinho ou dentro de uma equipe, porque você pode facilmente configurar testes de unidade para serem executados em cada check-in, testes FXCop e uma série de outros produtos.

Se for apenas você em uma equipe de um homem só e não tiver muitos projetos em andamento, também recomendo verificar Equipe Cidade como uma opção, porque tem uma versão gratuita e os relatórios e a configuração são muito mais simples (parece legal para mim).

Dito isso, começamos com CCNET e desenvolvemos vários produtos grandes demais para serem vistos no Team City na versão gratuita e estamos muito felizes com o que temos.

Os recursos que ajudam no CCNET incluem:

  • Configuração baseada em XML - geralmente você pode copiar e colar a maior parte do que precisa.
  • Mais ou menos, você poderá conectar seu script treeurgeon como seu script de construção e apontar o CCNET para ele como uma tarefa executável para executar a compilação.
  • Muita documentação e muito fácil de configurar nunit, ncover, fxcop, etc.
  • Aplicativo de barra de tarefas que permite saber o status de seus projetos a qualquer momento, podendo também enviar um e-mail ou manter um feed RSS com as mesmas informações.

Mas eu definitivamente executaria uma compilação de CI em cada check-in - na maior parte, executará os testes de unidade antes do check-in, mas deixará o servidor CCNET executar quaisquer aplicativos/assemblies que tenham dependências do assembly que nós ' Ao fazer o check-in, eles são reconstruídos e testados novamente em cada check-in.

Dado que é gratuito e leva muito pouco tempo para configurar, eu recomendo fortemente que você faça isso.

CruiseControl.NET é sua melhor opção, na minha opinião.É bastante fácil de estender com tarefas personalizadas, se necessário, funciona com NAnt e MSBuild prontos para uso e é mantido de forma muito ativa.

Há também Draco.NET, que foi inspirado no CruiseControl.NET e é um pouco mais leve.Veja isso artigo para obter mais informações sobre ambas as soluções de integração contínua.

Eu sugiro EquipeCidade. :)

eu gosto muito robô de construção.É de código aberto, escrito em python e muito fácil de implantar, desenvolver e manter.Ele se integra facilmente ao svn e à maioria dos outros sistemas de controle de origem.Todos os seus scripts de construção são código python, então você tem muita flexibilidade em termos do que seus scripts principais do Build Master podem fazer.É claro que você também pode usá-lo para disparar qualquer outro tipo de script ou arquivo em lote.

Você pode conferir alguns exemplos de buildbot em ação:

Você pode querer considerar o CI-Factory.É um construtor de ambiente de integração contínua que usa CruiseControl.NET e uma dúzia de outras ferramentas.Há um excelente screencast aqui: http://www.dnrtv.com/default.aspx?showID=64

Usamos CruiseControl.NET com NAnt e MsBuild para nosso servidor de compilação.Nós o configuramos para que ele tenha compilações sempre que fizermos check-in do código, bem como compilações noturnas.

Cascata suporta a construção de cada alteração confirmada no repositório.

Eu uso o FinalBuilder há alguns anos.A vantagem do FinalBuilder é que ele faz muito mais do que apenas compilar.Eu o configurei para fazer algumas análises dos resultados, fazer arquivos das compilações, enviar logs de erros, etc.A versão mais recente possui uma interface web que permite que não especialistas iniciem compilações com um clique.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top