Bamboo vs. Hudson (aka Jenkins) vs Quaisquer outros sistemas de CI [fechado]

119

Alguém aí tem experiência com Hudson e Bamboo? Quaisquer pensamentos sobre os pontos fortes e fracos desses produtos?

Ok, como as pessoas continuam mencionando outros produtos de IC, eu vou abrir isso ainda mais. Aqui está o meu problema geral. Quero configurar um sistema de CI para um novo projeto. Esse projeto provavelmente terá componentes Java (WARs e JARs), alguns módulos python e possivelmente até um componente .NET. Então, eu quero um servidor de IC que possa:

  1. Lidar com vários idiomas,
  2. Implante artefatos nos servidores (ou seja, implante a guerra se todos os testes de unidade forem aprovados)
  3. Eu também gostaria de algo que se integrasse a uma ferramenta decente de cobertura de código.
  4. Relatórios de boa aparência são bons, mas não essenciais.
  5. Vários mecanismos de notificação quando as coisas dão errado.
  6. Não estou preocupado com hospedagem. Vou executá-lo em um servidor local ou em uma instância da Amazon.
  7. Além disso, isso pode ser uma torta no céu, mas há algo que também pode criar aplicativos para iPhone?
Karthik Ramachandran
fonte
2
Só para atrapalhar ainda mais as águas, você já considerou Team City? Eles têm uma versão gratuita (limitada pelo número de usuários). Eu usei no passado e gosto muito das informações que ele fornece.
Shane Courtrille
Hudson ou Jenkins? ( kohsuke.org/2011/01/11/bye-bye-hudson-hello-jenkins )
Romain Linsolas
2
Vamos continuar confundindo as águas :) integridadeapp.com Isso pode ser implantado no Heroku, para que você possa ter um servidor de CI gratuitamente.
Nerian
Eu não vi o TeamCity. E não percebi que a Oracle forçou Hudson a se tornar Jenkins. Vou editar a pergunta para refletir isso.
Karthik Ramachandran
2
Há um tópico sobre isso aqui: forums.atlassian.com/message.jspa?messageID=257292121
sal

Respostas:

50

Aviso Legal: Eu trabalho no Bamboo e, portanto, não vou comentar sobre os recursos de outros produtos de CI, pois minha experiência com eles é limitada.

Para responder aos seus requisitos específicos:

Lidar com vários idiomas

O Bamboo possui suporte imediato para vários idiomas. Os clientes o utilizam com Java, .Net, PHP, JavaScript etc. Dito isto, a maioria dos servidores de construção é genérica o suficiente para pelo menos executar um script que pode iniciar seu processo de construção.

Implante artefatos nos servidores (ou seja, implante a guerra se todos os testes de unidade forem aprovados)

O Bamboo 2.7 suporta estágios de compilação, que permitem dividir sua compilação em um estágio de teste de unidade e um estágio de implantação. Somente se o Estágio de teste de unidade for bem-sucedido, a construção passará para o Estágio de implantação. No Bamboo 3.0 , ofereceremos suporte ao compartilhamento de Artefato entre estágios, permitindo que você crie um Artefato (por exemplo, sua guerra) no primeiro Estágio e use esse Artefato nos seguintes Estágios para teste e implantação.

Eu também gostaria de algo que se integrasse a uma ferramenta decente de cobertura de código.

O Bamboo vem com suporte para o Clover e também possui um plugin disponível para o Cobertura .

Relatórios de boa aparência são bons, mas não essenciais.

O Bamboo tem vários relatórios legais, mas não essenciais :)

Vários mecanismos de notificação quando as coisas dão errado.

A Bamboo pode notificá-lo por e-mail, RSS, IM, um plugin IDE ou um bom wallboard que é visível para toda a equipe.

Não estou preocupado com hospedagem. Vou executá-lo em um servidor local ou em uma instância da Amazon.

Por experiência, geralmente é mais barato hospedar seu próprio servidor de IC. Porém, se você precisar escalar, o Bamboo facilita a distribuição de suas construções para agentes locais adicionais ou o escalonamento para a Amazon via agentes Elastic.

Além disso, isso pode ser uma torta no céu, mas há algo que também pode criar aplicativos para iPhone?

Semelhante à resposta à sua primeira pergunta, a maioria dos servidores de CI poderá criar aplicativos para iPhone de algumas maneiras. É possível que exista um pouco mais de script.

Preço: O Bamboo não é gratuito (além da nossa licença inicial gratuita ) / libre / open-source, mas você obterá o código-fonte do Bamboo se comprar uma licença comercial e suporte completo. Comparado ao custo da energia computacional e à manutenção potencial necessária para um servidor de CI, o custo de uma licença Bamboo é bastante pequeno.

Espero que isto ajude.

jens
fonte
15
A estrutura de preços da Bamboo é falha. Ele não diferencia entre usuários com builds paralelos e usuários que simplesmente precisam de agentes remotos para testes entre plataformas. Se você tentar executar um pequeno servidor de compilação para Windows, Linux e Mac (talvez até versões diferentes de cada um), o preço rapidamente subirá para milhares de dólares por ano. Uma abordagem melhor seria cobrar por compilações simultâneas.
Gili
O grande recurso do Bamboo contra o jenkins é a fusão automática de filiais para evitar desvios entre os desenvolvedores nas equipes. Infelizmente, eles suportam isso apenas para GIT e Mercurial, para que qualquer pessoa que use SVN ou qualquer outra coisa não funcione. Mas Jenkins tem o plug-in SVN Merge que nos permite fazer isso.
george_h
1
@george_h O plug-in GIT para Jenkins agora oferece suporte à mesclagem automática de ramificações. Não tenho certeza de quando isso foi implementado.
slu
1
Isso é ótimo. Na verdade, eu usei bambu e jenkins, e o jenkins foi melhor de longe. No final, tudo é apenas um servidor que executa o Ant + Maven.
214136 # javafree
40

Eu não usei o Bamboo, mas usei Hudson, Cruise e TFS e, de todos eles, o Hudson foi o melhor. É ridiculamente fácil de configurar e possui uma interface web muito boa para a configuração do projeto. O que é ótimo no Hudson é que ele suporta praticamente qualquer idioma e recurso que você possa querer, desde que alguém tenha escrito um plug-in, o que provavelmente eles têm.

http://wiki.hudson-ci.org/display/HUDSON/Plugins

Nós o usamos para executar compilações .NET, Java e C ++ em intervalos de tempo, bem como check-ins SVN com recursos de teste automatizados e foi ótimo. O lugar antes da última vez em que trabalhei começou um pouco de desenvolvimento do iPhone pouco antes de sair e acredito que eles também usavam o Hudson.

Além disso, é grátis!

Steve Whitfield
fonte
35

Bamboo vs Hudson, em um nível muito superficial, parece se resumir a:

  • Bambu: Fácil de usar e bonito
  • Jenkins: Áspero, mas é muito mais flexível que o Bamboo

Tanto o Bamboo quanto o Jenkins têm vários bugs (você terá problemas), mas pelo menos no Jenkins é muito mais provável que você tenha uma solução alternativa até que seja corrigida. Com o Bamboo, você está esperando uma atualização.

Gili
fonte
Eu teria imaginado que, com a Bamboo, você pelo menos tem apoio comercial para isso.
Keiki
3
@keiki, sim e não. Sim, você recebe suporte comercial, mas custa muito dinheiro (você precisa se perguntar se o custo / benefício faz sentido). Vale a pena notar que muitos dos problemas que você encontrará são causados ​​por recursos ausentes. O Atlassian fará o possível para ajudá-lo, mas no final do dia eles têm recursos limitados e podem levar anos para adicionar os recursos solicitados (dependendo da popularidade).
Gili
1
+1 para flexibilidade. O bambu é realmente limitado para uma ferramenta moderna, também para uma ferramenta de IC, onde as coisas não são feitas do zero. Além disso, o Atlassian não foi capaz de priorizar / manipular os erros do Bamboo da maneira como estamos acostumados a trabalhar com o OSS.
Paddy
16

Disclaimer: Estou trabalhando com Jenkins.

Em nossa organização (bastante grande, mais de 100 desenvolvedores), também achamos esses dois recursos muito úteis:

  1. Plug-in CAS com estratégia de segurança de projeto matricial
  2. Build Pipeline Plugin
  3. Agenda de liberação do LTS.

Sobre suas perguntas:

  1. Está bem
  2. SCP PLUGIN ou SSH PLUGIN
  3. Usamos FINDBUGS, plug-in de coletor de análise estática, plug-ins de análise de código estático, plug-in de scanner de tarefas
  4. Anterior no ponto 3 + Jenkins DocLinks plugin
  5. Usamos o email Jenkins Email Extension Plugin, mas ele também suporta outros sistemas, como rss, twitter publish, sms ...
  6. Estamos executando em um Tomcat Hosting, localmente.
  7. Sim.
Federico Paolantoni
fonte
5

Bem, até agora não usei o Bamboo, mas uma diferença é que o Hudson é um software livre / gratuito / de código aberto.

Puce
fonte
10
voto negativo - esta resposta é verdadeira, mas trivial (presumivelmente alguém que conhece os dois produtos sabe disso); O OP está procurando comparações de recursos.
Jason S
1

Se você estiver disposto a pagar por isso, o Anthill faz tudo isso. Nós o usamos na minha empresa para nossa equipe da Web, e é bastante poderoso.

Lidar com vários idiomas

Pronto para uso, ele automatiza os scripts existentes e gerencia os artefatos que eles produzem, independentemente do idioma.

Implante artefatos nos servidores (ou seja, implante a guerra se todos os testes de unidade forem aprovados)

A implantação pode ser adicionada como uma etapa no seu processo de construção. Não tenho certeza se você deseja implantar diretamente na produção, mas você certamente poderia se a gerência disser que precisa.

Eu também gostaria de algo que se integrasse a uma ferramenta decente de cobertura de código.

Eles se integram imediatamente ao Clover, Cobertura, Emma, ​​Checkstyle, CodeSonar, Coverity, FindBugs, Fortify, Klocwork, PMD e Sonar.

Relatórios de boa aparência são bons, mas não essenciais.

Não tenho certeza de quais relatórios estão disponíveis, mas há uma guia de relatórios (não vou lá :-))

Vários mecanismos de notificação quando as coisas dão errado.

Eu sei que ele pode enviar email (e, portanto, sms), se integra a alguns serviços de mensagens instantâneas.

Não estou preocupado com hospedagem. Vou executá-lo em um servidor local ou em uma instância da Amazon.

Eu vi uma demonstração deles iniciando uma sessão na nuvem a partir de uma imagem, completa com um agente para implantação. Nós o executamos em uma caixa típica do Linux, mas sei que algumas pessoas o executam em um servidor VMWare.

Além disso, isso pode ser uma torta no céu, mas há algo que também pode criar aplicativos para iPhone?

Isso cairia sob o primeiro, provavelmente.

corsiKa
fonte