Como escolher entre Hudson e Jenkins? [fechadas]

451

Demorei mais ou menos uma hora para descobrir que Hudson se ramificou recentemente (jan / 2011).
Não tenho idéia de quão rápida é a mudança de cada filial agora, mas, mais importante, qual é a direção que cada filial está tomando e quais são as principais pontos para que você possa escolher entre qual escolher?

Alguém tem links para o roteiro do produto e diferenças de recursos?

Greg Domjan
fonte
4
o que você acabou escolhendo entre Jenkins x Hudson?
21411 chmullig
109
@ Kev: Eu discordo, que esta questão não é construtiva. Não é um debate como "x vs. y, qual preferir", mas é sobre um ramo do Hudson, que é uma informação muito útil.
tanascius
9
Sim, esse segmento precisa ser reaberto para obter respostas mais atualizadas.
djangofan
2
@djangofan Já havia uma pergunta de acompanhamento em um ano: stackoverflow.com/q/11433083/234938 - e agora, mais um ano depois, a situação ainda é a mesma.
Christopher Orr
5
Entendo a natureza perigosa desse tipo de pergunta, mas parece-me que (i) trouxe algumas informações muito interessantes, (ii) não iniciou nenhum tipo de disputa e (iii) é legítimo, pois não é fácil para escolher, sem esse tipo de informação
lab419

Respostas:

503

Use Jenkins .

Jenkins é o fork recente dos principais desenvolvedores do Hudson. Para entender o porquê, você precisa conhecer a história do projeto. Era originalmente de código aberto e suportado pela Sun. Como muito do que a Sun fez, foi bastante aberto, mas houve um pouco de negligência benigna. A fonte, rastreadores, site etc. foram hospedados pela Sun em sua plataforma java.net relativamente fechada.

Então a Oracle comprou a Sun. Por várias razões, a Oracle não se intimida em alavancar o que considera como seus ativos. Isso inclui algum controle sobre a plataforma logística do Hudson e particularmente sobre o nome Hudson. Muitos usuários e colaboradores não estavam confortáveis ​​com isso e decidiram sair.

Então, tudo se resume ao que Hudson vs Jenkins oferece. Hudson e Jenkins, da Oracle, têm o código. Hudson tem o suporte corporativo e a marca da Oracle e Sonatype. Jenkins tem a maioria dos principais desenvolvedores, a comunidade e (até agora) muito mais trabalho real.

Leia esse post eu ligado topo, em seguida, ler o resto da estes em cronológico ordem . Para equilibrar, você pode ler a opinião do Hudson / Oracle . Está bem claro para mim quem está jogando na defensiva e quem tem intenções reais para o projeto.

chmullig
fonte
10
"a maioria das pessoas por trás disso" - isso parece verdadeiro para os fundadores do projeto, mas deve-se observar que a Sonotype (Maven inc) se comprometeu com o lado Hudson da divisão, com uma série de mudanças arquitetônicas no pipeline . Será interessante ver se a equipe Jenkins ainda tem inovação suficiente as mangas para manter o desenvolvedor mindshare / user
magicduncan
5
@magic: Pelo menos com base nessa breve comparação , quinze dias após a divisão, Jenkins é de longe mais ativo. De qualquer forma, enquanto estou com Jenkins , é interessante ver o que os caras do Sonatype estão fazendo.
Jonik
14
Aqui está outra atualização da pessoa que escreveu a breve comparação de @ Jonik. Este é ~ 2 meses depois.
Chmullig 13/05/11
14
E agora, cinco anos depois, Jenkins está prosperando, e a Oracle jogou Hudson no cemitério de elefantes Eclipse, onde ele está abandonado.
Thorbjørn Ravn Andersen
115

Como chmullig escreveu , use Jenkins . Alguns pontos adicionais:

... e algumas informações básicas:

O criador de Hudson, Kohsuke Kawaguchi , iniciou o projeto em seu tempo livre, mesmo se estivesse trabalhando para a Sun Microsystems e depois pago por eles para desenvolvê-lo ainda mais. Como @erickson observou em outra pergunta do SO ,

[Hudson / Jenkins] é o produto de um único intelecto genial - Kohsuke Kawaguchi. Por isso, é consistente, coerente e sólido.

Após a aquisição pela Oracle, Kohsuke não ficou muito tempo ( devido à falta de monitores ...?; -] ) e foi trabalhar para o CloudBees . O que começou no final de 2010 como conflito de ferramentas entre a comunidade de desenvolvedores e o Oracle e terminou na renomeação / fork / split está bem documentado nos links fornecidos por chmullig. Para mim, todo esse enigma fala, talvez mais do que qualquer outra coisa, da total incapacidade ou falta de vontade da Oracle em patrocinar um projeto de código aberto de uma maneira que mantenha todas as partes felizes (Oracle, desenvolvedores, usuários). Não está no DNA deles ou algo assim, como vimos em outros casos também.

Dado tudo o que foi exposto, eu pessoalmente seguia Kohsuke e outros desenvolvedores principais nesse assunto e seguia Jenkins.

Jonik
fonte
90

Apenas minha opinião sobre o assunto, três meses depois:

Jenkins continuou o caminho trilhado pelo Hudson original com lançamentos frequentes, incluindo muitas pequenas atualizações.

A Oracle parece ter delegado amplamente o trabalho no caminho futuro de Hudson para a equipe do Sonatype, que realizou algumas mudanças significativas, especialmente no que diz respeito ao Maven. Eles o moveram em conjunto para a fundação Eclipse.

Sugiro que, se você gosta do som de:

  • lançamentos menos freqüentes, mas aqueles que são mais testados para compatibilidade com versões anteriores (mais de um ciclo de lançamento "no estilo corporativo")
  • um produto focado principalmente na forte integração do Maven e / ou Nexus (ou seja, você não tem interesse em Gradle e Artifactory etc.)
  • ofertas de suporte profissional da Sonatype ou talvez da Oracle em vez de Cloudbees etc.
  • você não se importa de ter uma comunidade menor de desenvolvedores de plug-ins etc.

, então eu sugeriria o Hudson.

Por outro lado, se você preferir:

  • atualizações mais frequentes, mesmo que exijam ajustes um pouco mais frequentes e talvez sejam um pouco mais arriscadas em termos de compatibilidade (mais do ciclo de lançamento "mais recente e melhor")
  • um sistema com suporte da comunidade mais ativo para, por exemplo, outros sistemas de construção / repositórios de artefatos
  • ofertas de suporte do criador original et al. e / ou você não tem interesse em suporte profissional (por exemplo, você está feliz desde que possa obter uma correção nos "melhores e mais recentes" da próxima semana)
  • uma mistura clássica de um ecossistema de desenvolvimento de bruxas no estilo OSS

então eu sugeriria Jenkins. (e como comentou um comentarista, Jenkins agora também tem lançamentos "LTS", que são mantidos em uma ramificação mais "estável")


O curso conservador seria escolher o Hudson agora e migrar para o Jenkins se os recursos obrigatórios não estiverem disponíveis. O curso dinâmico seria escolher o Jenkins agora e migrar para o Hudson se a busca por atualizações se tornar muito demorada para justificar.

Zac Thompson
fonte
22
Ou obtenha o melhor dos dois mundos e use os novos lançamentos do Jenkins Long-Term Support (LTS)!
Christopher Orr
48

Na frente .. Sou um colaborador do Hudson e autor do livro do Hudson, mas não participei de toda a divisão dos projetos.

De qualquer forma, aqui está o meu conselho:

Confira os dois e veja o que melhor se adapta às suas necessidades.

Hudson concluirá a migração para ser um dos projetos Eclipse de nível superior ainda este ano e conseguiu vários desenvolvedores em tempo integral, controle de qualidade e outros que trabalham no projeto. Ele ainda está forte e tem muitos usuários e, por ser o servidor de CI padrão no Eclipse, continuará atendendo às necessidades de muitos desenvolvedores de Java. Observando o roteiro e os planos para o futuro, você pode ver que após a integração do Maven 3 concluída com a versão 2.1.0, vários outros recursos interessantes estão à frente.

http://www.eclipse.org/hudson

Jenkins, por outro lado, conquistou muitos usuários originais do Hudson e possui uma grande comunidade de usuários em várias tecnologias e também tem um monte de desenvolvedores trabalhando nisso.

Nesse estágio, os dois servidores de CI são ótimas ferramentas a serem usadas e, dependendo das suas necessidades em termos de tecnologia para integrar-se a um ou outro, pode ser melhor. Ambos os produtos estão disponíveis como código aberto e você pode obter suporte comercial de várias empresas para ambos.

De qualquer forma .. se você ainda não estiver usando um servidor de IC .. comece agora com qualquer um deles e verá enormes benefícios.

Atualização em janeiro de 2013: Após um longo processo de limpeza de IP e outras melhorias, o Hudson 3.0 como o primeiro release aprovado da Eclipse Foundation está disponível.

Manfred Moser
fonte
38

Jenkins é o novo Hudson. É realmente mais como uma renomeação, não uma bifurcação, já que toda a comunidade de desenvolvimento se mudou para Jenkins. (O Oracle fica sentado em um canto, segurando sua velha bola "Hudson", mas agora é apenas um projeto sem alma.)

Cf Ethereal -> WireShark

Nathan Kidd
fonte
O que tenho a ver com o meu servidor Hudson Build em execução? Eu acho que ele não será atualizado automaticamente para o novo fork / ramificação / renomeação do Jenkins. Preciso configurar o servidor de compilação a partir do zero?
Michael Küller
4
Você pode "atualizar" para o Jenkins da mesma forma que costumava atualizar de uma versão do Hudson para outra.
Nfley
Atualmente, estou executando o Hudson 1.395. Atualmente, ele não mostra minhas atualizações disponíveis. A atualização que altera o nome está chegando mais tarde?
Michael Küller
3
Não, Hudson (Oracle) nunca [1] dará uma atualização para Jenkins; se a Oracle estivesse disposta a trabalhar com a comunidade, não haveria uma divisão em primeiro lugar. [1] Exceto porcos voando, o Sr. Ellison se tornando seu vizinho amigável etc.
Nathan Kidd
8
Veja aqui: wiki.jenkins-ci.org/display/JENKINS/… para saber como adicionar Jenkins ao centro de atualização do Hudson.
Simon D
27

Eu tenho dois pontos a acrescentar. Um, Hudson / Jenkins é tudo sobre os plugins. Os desenvolvedores de plug-ins mudaram-se para Jenkins e nós também, os usuários. Segundo, eu não sou pessoalmente um grande fã dos produtos da Oracle. Na verdade, eu os evito como uma praga. Pelo dinheiro gasto em licenciamento e hardware de uma solução Oracle, você pode contratar o dobro da equipe de engenharia e ainda ter sobras para comprar cerveja toda sexta-feira :)

Tim Fulmer
fonte
1
Por causa de todos os plugins, um Jenkins pode ser bem diferente do outro e também diferente da próxima vez que você o instalar.
precisa saber é o seguinte
4

Para aqueles que mencionaram uma reconciliação como um futuro potencial para Hudson e Jenkins, com o fato de Jenkins ingressar na SPI , é improvável que neste momento eles se reconciliem.

Chad Wilson
fonte
4

No site da Jenkins, http://jenkins-ci.org , o seguinte resume.

Em resumo, o Jenkins CI é o principal servidor de integração contínua de código aberto. Construído com Java, fornece mais de 300 plugins para oferecer suporte à criação e teste de praticamente qualquer projeto.

A Oracle agora possui a marca comercial Hudson, mas a licenciou sob o Eclipse EPL . Jenkins está na licença do MIT . Hudson e Jenkins são de código aberto. Com base na combinação de quem você trabalha e na preferência pessoal de código aberto, a decisão é direta no IMHO.

Espero que isso tenha sido útil.

thirumalaa srinivas
fonte
3
Hudson é um projeto Eclipse de nível superior agora.
Manfred Moser
14
A Oracle agora possui Hudson e Jenkins é de código aberto. Ambos são licenciados pelo MIT . Descrever um como código aberto e o outro como código não é enganoso. Eles são software livre.
Pb2q
1
A Oracle aparentemente possui o nome Hudson (como marca comercial).
Thorbjørn Ravn Andersen