Pergunta

OK, todos nós sabemos que a construção diária é o coração de um projeto, mas qual é a melhor maneira de automatizá-la?

Temos scripts perl envolvendo nosso pipeline que inclui ClearCase, VS2005 (C++), Intel FORTRAN, configuração Inno.Usamos cron jobs no UNIX para agendar a construção e hospedamos um servidor web Apache simples para visualizar e monitorar a construção.Apesar de tudo, é bastante complexo, gostaria de saber qual é a melhor solução pronta para uso que as pessoas usam?

E sim, eu disse FORTRAN, não há como escapar às vezes, ele funciona, não faz sentido fazer um grande projeto de reimplementação para algum código FEA testado e comprovado que simplesmente funciona.

Foi útil?

Solução

Estamos no processo de implementação do CC.Net.Até agora parece que se encaixaria muito bem no seu modelo.

Pronto para uso, ele oferece construção automatizada, rastreamento de resultados e notificação.Não tenho certeza de quão detalhado é o monitoramento em andamento.

Outras dicas

Uma novidade para mim que ouvi ser bastante inteligente é Hudson - também com suporte MSBuild.

Existem muitas ferramentas que lidam especificamente com isso:

As ferramentas têm suporte pronto para uso para os tipos de construção mais comuns.Todos eles também suportam algum tipo de processo de construção do tipo "executar este script".

No final, você deve usar as ferramentas de construção mais legais (MSBuild, Ant, Maven, Make, ...) onde puder e preencher as lacunas das ferramentas mais estranhas com scripts personalizados.A construção automatizada pode simplesmente invocá-los na ordem certa.

Aqui está o melhor recurso que encontramos para nos ajudar a escolher uma ferramenta de integração contínua.Estamos avaliando 5 ou 6 ferramentas nesta página.

http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix

Nós usamos EquipeCidade - mas é um desenvolvimento simples em C #/Java - talvez seu pipeline possa ser feito por meio de scripts que ele pode conduzir?

Eu tive sucesso usando Visual Build Pro.

CC.NET é muito poderoso.Usei e fiquei muito feliz com isso.Até o ícone de status na bandeja do sistema.É um pequeno detalhe, mas que dá uma boa visão geral da “saúde” do projeto.Você imediatamente se sente motivado a corrigir os testes quando vê o vermelho.

Agora usamos uma série de scripts preparados.Como escrevemos Python, a compilação é inexistente, então o único problema é executar os testes.

Se você estiver trabalhando com o Visual Studio, não deixe de conferir Construção da Fundação da Equipe para ver se será adequado à sua situação.

Parece o Buck Hodges postagem no blog sobre a versão VS 2008 também é um bom recurso.

Eu sei que esta é uma pergunta muito antiga, mas ainda aparece nas pesquisas, então alguém deveria mencionar Jenkins - a continuação de código aberto do Hudson.

De Wiki do Jenkins:

Entre essas coisas, o Jenkins atual se concentra nos dois trabalhos a seguir:

  • Construir/testar projetos de software continuamente, assim como CruiseControl ou DamageControl.Resumindo, Jenkins fornece um sistema chamado de integração contínua fácil de usar, tornando mais fácil para os desenvolvedores integrarem alterações ao projeto e tornando mais fácil para os usuários obterem uma nova construção.A construção automatizada e contínua aumenta a produtividade.
  • Monitorando execuções de jobs executados externamente, como tarefas cron e tarefas procmail, mesmo aquelas executadas em uma máquina remota.Por exemplo, com o cron, tudo o que você recebe são e-mails regulares que capturam a saída, e cabe a você observá-los com atenção e perceber quando ele quebra.Jenkins mantém essas saídas e torna mais fácil perceber quando algo está errado.

Ele foi originalmente construído com Java em mente, por isso se integra bem com muitas outras ferramentas Java, mas você pode usá-lo com qualquer linguagem, incluindo todas aquelas mencionadas pelo OP.

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