Como escolher entre Hudson e Jenkins? [fechado]
Não faço ideia de quão rápida é a mudança de cada ramo agora, mas mais importante, qual é a direção que cada ramo está tomando e quais são os pontos-chave para que se possa fazer uma escolha entre qual ir com? Alguém tem links para o roteiro do produto e diferenças de características?
8 answers
Utilizar Jenkins..
Jenkins é ofork recente pelos programadores centrais da Hudson. Para entender por que, você precisa saber a história do projeto. Foi originalmente de código aberto e suportado pela Sun. Como muito do que o Sun fez, estava bastante aberto, mas havia um pouco de negligência benigna. A fonte, rastreadores, site, etc. foram hospedados pelo Sol em seus relativamente fechados java.net plataforma.
Então a Oracle comprou a Sun. Por várias razões a Oracle tem Não tenho vergonha de aproveitar o que ele percebe como seus ativos. Esses incluem algum controle sobre a plataforma logística de Hudson, e particularmente controle sobre o nome Hudson. Muitos usuários e colaboradores não estavam confortáveis com isso e decidiram sair. Então, resume-se ao que o Hudson vs Jenkins oferece. O Hudson e o Jenkins da Oracle têm o código. Hudson tem o apoio corporativo da Oracle e da Sonatype e a marca. Jenkins tem a maioria dos desenvolvedores do núcleo, a comunidade, e (assim muito mais trabalho real.Leia esse post eu ligado em cima, , em seguida, leia o resto do estes no cronológica ordem. Para equilibrar você pode ler o Hudson / Oracle assumir . É bastante claro para mim quem está jogando defensivo e quem tem intenções reais para o projeto.
Como chmullig escreveu, use Jenkins. Alguns pontos adicionais:
De fato, pode-se dizer que foi o oráculo que fez a bifurcação! E tecnicamente também, foi mais ou menos isso que aconteceu.
Mas é interessante ver o que sai do "Hudson". Enquanto o "Winston resume o estado e o futuro rosado do projeto Hudson" as coisas que eles postaram no (novo) site Hudson originalmente pareciam humor estranho para mim, talvez isto tenha sido uma aquisição intencional, e os tipos do Sonatype têm grandes ideias na manga. Esta análise sugere uma estratégia deliberada da Oracle / Sonatype para expulsar Kohsuke e a tripulação para criar um Hudson mais empreendedor é uma leitura muito interessante!
Em todo o caso, esta breve comparação quinze dias após a cisão-embora não seja propriamente científica-mostra que Jenkins é muito mais activo dos dois projectos.
...e um pequena informação de fundo:
O criador de Hudson, Kohsuke Kawaguchi, iniciou o projecto no seu tempo livre, mesmo que estivesse a trabalhar para a Sun Microsystems e mais tarde pago por eles para o desenvolver. Como@erickson observou em outra pergunta,É o produto de um único génio. intelecto-Kohsuke Kawaguchi. Porque disso, é consistente, coerente, e rocha sólida.Após a aquisição pela Oracle, Kohsuke Não ficou por cá muito tempo. ( devido à falta de monitores ...? ;-]), e foi trabalhar para CloudBees. O que começou no final de 2010 como conflito sobre ferramentas entre a comunidade dev e a Oracle e terminou na mudança de nome/fork / split está bem documentado nos links chmullig fornecidos. Para mim, todo esse enigma fala, talvez mais do que qualquer outra coisa, da total incapacidade ou relutância da Oracle em patrocinar um projeto de código aberto de uma forma que mantenha todas as partes Feliz. Não está no ADN deles ou algo assim, como vimos em outros. os casos também.
Dado tudo o que precede, eu pessoalmente seguiria Kohsuke e outros programadores centrais neste assunto, e iria com Jenkins.
- versões menos frequentes, mas que são mais fortemente testadas para a compatibilidade reversa (mais de um ciclo de lançamento ao estilo empresarial)
- um produto focado principalmente em forte integração Maven e / ou Nexus (isto é, você não tem interesse em graxa e artificial, etc)
- ofertas de apoio profissional de Sonatype ou talvez Oracle em preferência a Cloudbees etc
- não se importa de ter uma comunidade menor de programadores de 'plugins' etc.
Por outro lado, se preferir:
- actualizações mais frequentes, mesmo que exijam um ajuste mais frequente e sejam talvez ligeiramente mais arriscadas em termos de compatibilidade (mais de um ciclo de lançamento "mais recente e maior")
- um sistema com apoio comunitário mais activo para, por exemplo, outros sistemas de construção / repositórios de artefactos
- ofertas de apoio do criador original et al. e / ou você não tem interesse em apoio profissional (por exemplo, você está feliz desde que você pode obter uma correção no "mais recente e maior"da próxima semana) Uma mistura clássica de bruxas do estilo OSS de um ecossistema de desenvolvimento.
O caminho conservador seria escolher Hudson agora e migrar para Jenkins se as funcionalidades não estiverem disponíveis. O curso dinâmico seria escolher Jenkins agora e migrar para Hudson se perseguir atualizações se torna muito demorado para justificar.
Nesta fase, ambos os servidores de IC são grandes ferramentas para usar e dependendo das suas necessidades em termos de tecnologia para se integrar com 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.
Em todo o caso .. se ainda não estiver a usar um servidor de CI.. comece agora com qualquer um deles e você vai ver grandes benefícios.
Actualização de Janeiro de 2013: após um longo processo de IP a limpeza e outras melhorias Hudson 3.0 como o primeiro lançamento aprovado pela Eclipse foundation está agora disponível.
C. F. Ethereal - > WireShark
Do site Jenkins, http://jenkins-ci.org , o seguinte resume tudo.
A Oracle possui agora a marca Hudson, mas licenciou-a sob a EPL do Eclipse. Jenkins está na licença do MIT. O Hudson e o Jenkins são de código aberto. Baseado na combinação de quem você trabalha e preferência pessoal por código aberto, a decisão é simples IMHO. Espero que tenha sido útil.Em poucas palavras, o Jenkins CI é o principal servidor de integração contínua de código aberto. Construído com Java, ele fornece mais de 300 plugins para suportar a construção e testar praticamente qualquer projeto.