Comparação de servidores CI? [fechadas]

87

Estou procurando uma comparação de diferentes servidores de integração contínua (CI) (especialmente com foco em .NET) e não consegui encontrar nenhum.

Portanto, gostaria de saber o que você pensa sobre as diferentes soluções disponíveis, quais são os prós e contras, quais são os requisitos de hospedagem e por que o CI Server XY é o servidor de sua escolha.

Estou interessado em sua opinião sobre (sinta-se à vontade para comentar sobre outros para):

Os pontos de interesse são:

  • Configuração (fácil, flexível)
  • Integração com SCM (esp. DSVC como git ou hg)
  • Integração com sistemas de compilação (MSBuild, NAnt, Rake)
  • Integração com frameworks de teste
  • Integração com Source Anaylsis (Simian, NDepend, FxCop, NCover etc.)
  • Interface da web / painéis
  • Requisitos de infraestrutura
Peter Mortensen
fonte
31
27 pessoas acham isso útil - mas está fechado. Suspiro
Ryan
CruiseControl.NET mudou, após o término da colaboração com a Thoughtworks. Novo url: cruisecontrolnet.org
Jowen
2
@Ryan, há muitas coisas interessantes no mundo que não são adequadas para SO.
Andy Wiesendanger
Por que não o Azure DevOps ?
zwcloud

Respostas:

51

Nenhuma pergunta como essa está completa sem um link para a grande matriz de recursos de CI (Web Archive), que lista quase todas as opções de CI existentes.

Mas acho que é importante olhar para a frente, para o escopo do que você deseja incluir em seu sistema de CI. Será que vai ser apenas constrói ou você vai estar trazendo outros elementos como a análise estática, dependências entre projetos, implementações, testes funcionais, etc. para ajudar com que o planejamento Eu criei este wallchart no Elements of Enterprise CI (PDF ; não é necessário registro). Por favor, não deixe a "palavra E" desencorajá-lo; Quero dizer apenas coisas além da construção de CI de feedback rápido básico. :)

Não é específico da ferramenta, mas lista uma variedade de práticas que você pode considerar enquanto estiver nos estágios de planejamento / avaliação.

Jeffrey Fredrick
fonte
5
Nossa. Essa matriz sofre de "DeathByOverload". A UX básica determina que grades grandes são inúteis, a menos que haja filtragem. Para piorar a situação, não há download (csv) e o markdown não pode ser baixado diretamente. Mesmo que resistisse a copiar para o excel ... desisti.
ver
4
O link Feature Matrix está morto :(
Marty
11
Página arquivada: web.archive.org/web/20130730154141/http://…
Darren Griffith
1
A página arquivada está fora do ar devido ao robots.txt
Sebazzz
14

Nada útil em:

EDIT : A apontado por Jonik em um comentário, eu perdi Qual é a diferença entre Hudson e CruiseControl para projetos Java? e como e por que configuro uma máquina de construção C #? . Você encontrará respostas muito perspicazes. Em outras palavras, acho que tudo o que você está procurando já está no Stack Overflow.

Pascal Thivent
fonte
1
Concordo que o SO já está cheio de comparações de servidores CI. Não sei sobre Teamcity e CIFactory, mas no que diz respeito a CC (.net) e Hudson, a escolha é bem clara hoje em dia; aqui está minha opinião sobre ele: stackoverflow.com/questions/604385/... . (Não importa a ênfase em Java nessa questão; Hudson é ótimo para .NET também: stackoverflow.com/questions/616149/… )
Jonik
@Jonik Obrigado, links muito bons. Não sei como senti falta deles, ambos estão fornecendo ótimas respostas e informações muito úteis.
Pascal Thivent,
"não sei sobre Teamcity e CIFactory" ... é exatamente por isso que eu quero uma comparação completa que NÃO trate apenas de x vs. y. É por isso que é wiki da comunidade, sinta-se à vontade para extrair a conclusão dos links mencionados.
Johannes Rudolph,
@Johannes, é justo; Concordo que a maioria das questões existentes tem um escopo mais limitado do que este. Mas pode não haver muitos usuários aqui com experiência com tudo de Hudson, CC, TeamCity e CIFactory que poderia proporcionar uma boa comparação. Se você precisar de um servidor de CI, meu conselho (por experiência pessoal e por exemplo, votos em stackoverflow.com/questions/140453/… ) seria tentar o Hudson primeiro.
Jonik
7

TeamCity tem um recurso maravilhoso de permitir que o desenvolvedor execute uma compilação pessoal antes de comprometer. Muito útil!

CruiseControl.NET é o avô do grupo e, portanto, está um pouco desatualizado visualmente etc. Como já existe há algum tempo, o Google sabe como consertar muitos problemas que você encontrará.

Por essas razões (entre outras), eu uso CruiseControl.NET no trabalho e TeamCity em casa e na minha vida de código aberto :)

Daniel Elliott
fonte
Ah, CC.Net não é a porta .net do CruiseControl?
Mnementh
5

Eu sou um usuário CruiseControl.NET o tempo todo. Minhas equipes usam no trabalho e eu uso em casa para projetos pessoais.

Em particular, CruiseControl.NET me permite executar todo o processo de CI: compilações, atualização de versão, testes de unidade e integração, arquivamento de fonte ou candidato a lançamento, cobertura de código, até mesmo implantação em nosso sistema de teste no trabalho. É altamente personalizável, funciona bem com MSBuild e NAnt e até tinha uma arquitetura de plug-in extensível.

Praticamente faz tudo o que preciso.

A maior desvantagem: a configuração às vezes é uma dor e pode levar tempo. Mas uma vez feito, está feito, e como outro autor disse, adoro ver o sinal de "construção bem-sucedida" porque sei que não apenas a construção em si funcionou, mas também que meus testes de unidade e integração foram executados com êxito.

scottmarlowe
fonte
2

Team Foundation Build é uma opção, pois interage muito bem com o Team Foundation Server. É gratuito desde que você tenha licenciado o TFS.

O Matt
fonte
Achei que ninguém mencionaria o TFS Build System, totalmente integrado ao TFS e com suporte da Microsoft. A maioria dos desenvolvedores .Net pode já ter instalado o TFS.
Diego Mendes
Team Builds no TFS 2015/2017 são muito mais fáceis de configurar e usar, e você pode até monitorá-los em tempo real com o monitor de build CatLight
Thomas Bennet
Provavelmente há um motivo pelo qual não é mencionado ... Meus 2 centavos: acabei de começar a trabalhar no projeto que o utiliza, estamos tentando melhorar nossa automação e estabelecer um canal de entrega ... mas de vez em quando o CI "fica sem minutos "e adivinhe ... você precisa pagar por alguns minutos. Essa é a razão de eu estar neste tópico ...
Julia
1

Usamos Hudson no trabalho. A principal razão é que é muito fácil de configurar. Você pode executar o war (é um jar executável) diretamente ou implantá-lo em qualquer servlet-container. E você está pronto para começar. Além disso, Hudson suporta muitas ferramentas e é extensível através de seu sistema de plugins.

Mnementh
fonte
1

Mudamos de CruiseControl.NET para TeamCity principalmente por causa da facilidade de configuração. TeamCity também tem mais recursos, mas o principal motivo é que uma boa interface de usuário da Web é mais simples de usar do que arquivos de configuração XML.

EDITAR: A maioria das tarefas que o TeamCity fará fora da caixa; quando necessário usamos NAnt.

TrueWill
fonte
1

CruiseControl.NET - pode ser um pouco difícil de configurar (assim como a maioria dos sistemas de CI), mas vale a pena continuar com ele. Eu atualmente o tenho configurado para executar testes de unidade na conclusão de compilações e para produzir instaladores Wix sob demanda. Como Dan disse, parece um pouco desatualizado, mas isso não importa, pois fornece muitas informações fáceis de obter e de ler.

Uma coisa - certifique-se de que todos os seus desenvolvedores tenham o CC Tray instalado, executando e apontando para suas compilações. É uma ótima sensação obter "Outra construção bem-sucedida" em sua bandeja de notificação.

Pete OHanlon
fonte
0

Estamos usando a ccnet no trabalho, o que é bom para a maioria de nossas necessidades (temos cerca de 50 compilações automatizadas), mas precisa de uma pessoa para ajustes e consertos em tempo integral.

Se você está começando do zero, dê uma olhada na Bamboo. Nós o examinamos e parece realmente promissor, mas não atende completamente às nossas necessidades e investimos muito tempo na ccnet para mudar para o Bamboo agora.

Saudações,

Sebastiaan

Sebastiaan M
fonte
0

Eu herdei um servidor luntbuild. Não é uma boa opção para um projeto .NET. Se você descobrir que está constantemente voltando a usar o servidor de compilação para executar tarefas de linha de comando genéricas, então algo está errado. Um bom servidor de construção tinha um bom entendimento da saída de testes de unidade e tarefas msbuild como mais do que comandos opacos a serem executados quando o sistema de controle de origem muda.

Estou gostando de migrar para o Team City.

MatthewMartin
fonte
0

Eu sou bastante novo na cena CI e tenho concentrado meus esforços no CruiseControl.NET, usando NAnt e Ivy para construir meus projetos .NET.

Descobri que CruiseControl.NET é muito adaptável a muitas outras ferramentas, como NCover / NUnit / etc. Todos eles se conectam a isso e integram os resultados de um processo de construção combinado.

Estarei olhando para o TeamCity em um futuro próximo para meu próprio interesse, mas acho que CruiseControl faz um bom trabalho, mas tão bom quanto seus scripts de construção! Se forem calças, então só se pode esperar que suas construções sejam tão boas.

Mas, em resumo, CruiseControl.NET é uma boa solução, mas ainda estou para descobrir o quão boa é a concorrência em comparação.

Brett Rigby
fonte
0

Estamos felizes com Hudson . Não tenho nada para comparar, mas era simples de configurar e começar a funcionar. No momento, ele cria apenas projetos Win32 C ++ e um instalador, mas estamos portando para o Linux e deve funcionar com isso também.

Obtém repositórios do Subversion sem problemas e envia alertas por e-mail, etc. Gostamos disso até agora. Novamente, temos experiência limitada com comparações.

Peter Mortensen
fonte
0

Tenho trabalhado com CruiseControl.NET, TFS 2012 e TeamCity 7.x por vários anos e acredito que TeamCity é o MELHOR devido à sua facilidade de uso, interface de usuário confortável e informativa e outros recursos interessantes como dependências de construção e muito mais. Simplesmente funciona, eu adoro isso.

Alon Amsalem
fonte