Pergunta

Tenho algumas soluções/projetos do Visual Studio que estão sendo trabalhados em minha empresa, que agora exigem um esquema para compilações noturnas automáticas.Tal esquema precisa ser capaz de verificar as versões mais recentes do SVN, construir as soluções, criar os arquivos apropriados para download (incluindo instaladores, documentação, etc.), enviar e-mails aos desenvolvedores em caso de erros e todo tipo de outras coisas interessantes. .Que ferramenta ou conjunto de ferramentas devo usar para isso?

Eu costumava usar o FinalBuilder há alguns anos e gostei muito, mas não tenho certeza se eles suportam recursos como compilações noturnas e mensagens de e-mail.

Foi útil?

Solução

No meu trabalho, usamos CCNET, mas com builds de check-in mais do que noturnos - embora seja facilmente configurado para um ou ambos.

Você também pode configurar facilmente testes de unidade para serem executados em cada check-in, testes FXCop e uma série de outros produtos.

Eu também aconselho 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).Ele tem um limite de algo em torno de 20 membros da equipe/projetos, antes de atingir a janela de pagamento.

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 o CCNET é gratuito e leva muito pouco tempo para ser configurado, eu recomendo fortemente que você vá em frente e veja se combina com você e, em seguida, expanda a partir daí.

(Há outro tópico aqui onde postei praticamente o mesmo/com algumas alterações - mas alguns dos outros comentários também podem ajudar! Construções automatizadas)

Edite para adicionar:Você pode configurar facilmente seu próprio esquema de implantação para CCNET, e há uma tonelada de postagens de blog para ajudar, e as notificações por e-mail podem ser configuradas de maneira bastante granular, seja em todos os sucessos, todas as falhas, quando muda de sucesso para falhar, etc.Também há RSS integrado e você pode até configurar seus próprios notificadores para outros sistemas.

Outras dicas

O FinalBuilder suporta envio por e-mail e apenas executar o FinalBuilder todas as noites fornecerá compilações noturnas.Você realmente não precisa de outro software para isso, se não quiser.

Você também pode usar o CCNet para acionar uma compilação quando necessário e executar o FinalBuilder para a compilação.Você pode então decidir se FinalBuilder ou CCNet devem enviar e-mail.

Finalmente, o FinalBuilder tem uma versão Server que é mais ou menos como o CCNet, pois é uma ferramenta de integração contínua usando o FinalBuilder.Ver http://www.finalbuilder.com/finalbuilder-server.aspx

É claro que a maior vantagem do CCNet é que ele é gratuito e de código aberto.

Embora custe, eu recomendo fortemente Construção Visual.Funciona com MSBuild e ferramentas antigas como Visual Basic.É programável e pode fazer tudo, desde a criação de instaladores até a simples integração contínua.

Acabamos de começar a usar Hudson aqui no escritório.

É gratuito e de código aberto, possui uma interface de usuário muito amigável.Além disso, existem inúmeras opções e plug-ins disponíveis.

Eu estava pronto e funcionando em questão de minutos após instalá-lo.Todos os outros desenvolvedores aqui estão adorando.

Resumindo, é uma solução muito elegante para integração contínua ou Nightly Builds.

Recentemente comecei a usar o CruiseControl.NET (http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET).Funciona razoavelmente bem, embora a configuração possa ser mais fácil.CruiseControl.NET é gratuito e de código aberto e parece integrar-se à maioria das ferramentas padrão, embora eu pessoalmente o tenha usado apenas com CVS, SVN, NUnit e MSBuild.

Luntbuild

Suporta uma ampla variedade de sistemas de controle de origem e construção.Muito personalizável.Código aberto.A configuração leva algum tempo, mas não é tão horrível.

Construir bot é de código aberto e muito poderoso também.Você deveria dar uma olhada nisso.

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

Eu não recomendaria fazer apenas compilações noturnas - essa é uma janela bastante longa onde uma quebra de compilação pode ocorrer antes de ser relatada.

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