Come scegliere tra Hudson e Jenkins? [chiuso]


451

Mi ci è voluto circa un'ora per capire che Hudson si è ramificato solo di recente (gennaio / 2011)
Non ho idea di quanto sia veloce il cambio di ogni ramo ora, ma, cosa più importante, qual è la direzione che ogni ramo sta prendendo e quali sono le chiavi punti in modo da poter fare una scelta tra cui scegliere?

Qualcuno ha collegamenti alla tabella di marcia del prodotto e differenze di funzionalità?


4
cosa hai scelto tra Jenkins e Hudson?
Chmullig,

109
@Kev: non sono d'accordo, che questa domanda non è costruttiva. Non è un dibattito come "x vs. y, che preferire", ma parla di un ramo di Hudson, che è un'informazione molto utile.
Tanascius,

9
Sì, questa discussione deve essere riaperta per risposte più aggiornate.
Djangofan,

2
@djangofan C'era già una domanda di follow-up un anno dopo: stackoverflow.com/q/11433083/234938 - e ora, un altro anno dopo, la situazione è sempre la stessa.
Christopher Orr,

5
Comprendo la natura pericolosa di quel tipo di domanda, ma mi sembra che (i) abbia portato alcune informazioni molto interessanti, (ii) non abbia avviato alcun tipo di controversia e (iii) sia legittimo perché non è facile scegliere senza questo tipo di informazioni
lab419

Risposte:


503

Usa Jenkins .

Jenkins è il recente fork dei principali sviluppatori di Hudson. Per capire perché, è necessario conoscere la storia del progetto. Originariamente era open source e supportato da Sun. Come gran parte di ciò che fece Sun, era abbastanza aperto, ma c'era un po 'di abbandono benigno. La fonte, i tracker, il sito Web, ecc. Sono stati ospitati da Sun sulla loro piattaforma java.net relativamente chiusa.

Quindi Oracle acquistò Sun. Per vari motivi, Oracle non è stato timido nel sfruttare ciò che percepisce come le sue risorse. Questi includono un certo controllo sulla piattaforma logistica di Hudson e in particolare il controllo del nome Hudson. Molti utenti e collaboratori non si sentivano a proprio agio e decisero di andarsene.

Quindi si tratta di ciò che offre Hudson vs Jenkins. Sia Oracle che Hudson e Jenkins hanno il codice. Hudson ha il supporto aziendale e il marchio Oracle e Sonatype. Jenkins ha la maggior parte degli sviluppatori principali, della comunità e (finora) molto più lavoro effettivo.

Leggi quel post che ho collegato in alto, quindi leggi il resto di questi in ordine cronologico . Per l'equilibrio si può leggere il Hudson / Oracle prendere su di esso . È abbastanza chiaro per me chi sta giocando sulla difensiva e chi ha reali intenzioni per il progetto.


10
"la maggior parte delle persone dietro di esso" - questo sembra essere vero per i fondatori del progetto, ma va notato che Sonotype (Maven inc) si sono impegnati sul lato Hudson della divisione, con una serie di modifiche architettoniche in cantiere . Sarà interessante vedere se il team Jenkins ha ancora abbastanza inovazione nelle maniche per conservare la
condivisione di mente

5
@magic: almeno sulla base di questo breve confronto , due settimane dopo la divisione, Jenkins è di gran lunga più attivo. In ogni caso, mentre sono con Jenkins , è interessante vedere cosa fanno i ragazzi di Sonatype.
Jonik,

14
Ecco un altro aggiornamento della persona che ha scritto il breve confronto di @ Jonik. Questo è ~ 2 mesi dopo.
chmullig,

14
E ora cinque anni dopo, Jenkins prospera e Oracle ha scaricato Hudson nel cimitero degli elefanti di Eclipse dove è, ma in nome abbandonato.
Thorbjørn Ravn Andersen,

115

Come ha scritto Chmullig , usa Jenkins . Alcuni punti aggiuntivi:

... e alcune informazioni di base:

Il creatore di Hudson, Kohsuke Kawaguchi , ha iniziato il progetto nel suo tempo libero, anche se stava lavorando per Sun Microsystems e in seguito pagato da loro per svilupparlo ulteriormente. Come notato da @erickson in un'altra domanda SO ,

[Hudson / Jenkins] è il prodotto di un unico genio intellettuale: Kohsuke Kawaguchi. Per questo motivo, è coerente, coerente e solido come una roccia.

Dopo l'acquisizione da parte di Oracle, Kohsuke non rimase in giro a lungo (a causa della mancanza di monitor ...?; -] ) e andò a lavorare per CloudBees . Ciò che è iniziato alla fine del 2010 come conflitto sugli strumenti tra la comunità di sviluppatori e Oracle e si è concluso con la ridenominazione / fork / split è ben documentato nei collegamenti forniti da chmullig. Per me, tutto questo enigma parla, forse più di ogni altra cosa, della totale incapacità o riluttanza di Oracle a sponsorizzare un progetto open source in modo da rendere felici tutte le parti (Oracle, sviluppatori, utenti). Non è nel loro DNA o qualcosa del genere, come abbiamo visto anche in altri casi .

Alla luce di quanto sopra, seguirò personalmente Kohsuke e altri sviluppatori principali in questa materia e andrei con Jenkins.


90

Solo la mia opinione sulla questione, tre mesi dopo:

Jenkins ha continuato il percorso ben calpestato dall'originale Hudson con frequenti rilasci tra cui molti aggiornamenti minori.

Sembra che Oracle abbia ampiamente delegato il lavoro sul futuro percorso di Hudson al team Sonatype, che ha apportato alcune modifiche significative, in particolare rispetto a Maven. L'hanno trasferito congiuntamente alla fondazione Eclipse.

Vorrei suggerire che se ti piace il suono di:

  • rilasci meno frequenti ma quelli che sono maggiormente testati per la compatibilità con le versioni precedenti (più di un ciclo di rilascio "di tipo aziendale")
  • un prodotto focalizzato principalmente sulla forte integrazione Maven e / o Nexus (ovvero, non hai interesse per Gradle e Artifactory ecc.)
  • offerte di supporto professionale da Sonatype o forse Oracle preferibilmente a Cloudbees ecc
  • non ti dispiace avere una comunità più piccola di sviluppatori di plugin ecc.

, quindi suggerirei Hudson.

Al contrario, se preferisci:

  • aggiornamenti più frequenti, anche se richiedono modifiche un po 'più frequenti e sono forse leggermente più rischiosi in termini di compatibilità (più di un ciclo di rilascio "più recente e più grande")
  • un sistema con un supporto comunitario più attivo, ad esempio per altri sistemi di compilazione / repository di artefatti
  • supportare le offerte del creatore originale e altri. e / o non hai alcun interesse per il supporto professionale (ad es., sei felice fintanto che puoi ottenere una soluzione nell'ultimo e il più grande della prossima settimana)
  • una classica strega in stile OSS di un ecosistema di sviluppo

allora suggerirei Jenkins. (e come ha osservato un commentatore, Jenkins ora ha anche versioni "LTS" che sono mantenute su un ramo più "stabile")


Il corso conservativo sarebbe quello di scegliere Hudson ora e migrare su Jenkins se le funzionalità indispensabili non sono disponibili. Il corso dinamico sarebbe quello di scegliere Jenkins ora e migrare a Hudson se inseguire aggiornamenti diventa troppo dispendioso in termini di tempo per giustificare.


22
O ottieni il meglio da entrambi i mondi e usa le nuove versioni di Jenkins Long-Term Support (LTS)!
Christopher Orr,

48

All'inizio .. Sono un committer di Hudson e autore del libro di Hudson, ma non sono stato coinvolto nell'intera divisione dei progetti.

In ogni caso ecco il mio consiglio:

Dai un'occhiata a entrambi e vedi cosa si adatta meglio alle tue esigenze.

Hudson completerà la migrazione per diventare un progetto Eclipse di alto livello entro la fine dell'anno e ha coinvolto un sacco di sviluppatori a tempo pieno, QA e altri che lavorano al progetto. Sta ancora andando forte e ha molti utenti e, essendo il server CI predefinito in Eclipse, continuerà a soddisfare le esigenze di molti sviluppatori Java. Osservando la tabella di marcia e i piani per il futuro, si può vedere che dopo l'integrazione di Maven 3 realizzata con la versione 2.1.0 sono in arrivo un sacco di altre interessanti funzionalità.

http://www.eclipse.org/hudson

Dall'altro lato, Jenkins ha conquistato molti utenti Hudson originali e ha una vasta comunità di utenti su più tecnologie e ha anche un sacco di sviluppatori che ci lavorano.

In questa fase entrambi i server CI sono ottimi strumenti da utilizzare e, a seconda delle esigenze in termini di tecnologia, l'integrazione con l'uno o l'altro potrebbe essere migliore. Entrambi i prodotti sono disponibili come open source e per entrambi è possibile ottenere supporto commerciale da varie società.

In ogni caso ... se non stai ancora utilizzando un server CI .. inizia ora con uno di essi e vedrai enormi vantaggi.

Aggiornamento gennaio 2013: dopo un lungo processo di pulizia IP e ulteriori miglioramenti, Hudson 3.0 è ora disponibile come prima versione approvata della fondazione Eclipse.


38

Jenkins è il nuovo Hudson. È più simile a un rinominare, non a un fork, poiché l'intera comunità di sviluppo si è trasferita su Jenkins. (Oracle è rimasto seduto in un angolo con la sua vecchia palla "Hudson", ma ora è solo un progetto senza anima.)

Cf Ethereal -> WireShark


Cosa devo fare con il mio server Hudson Build in esecuzione? Suppongo che non si aggiornerà automaticamente al nuovo fork / branch / rename di Jenkins. Devo configurare il server di build da zero?
Michael Küller,

4
Puoi "aggiornare" a Jenkins proprio come facevi per passare da una versione di Hudson a un'altra.
nrobey,

Attualmente sto eseguendo Hudson 1.395. Attualmente non mostra i miei aggiornamenti disponibili. L'aggiornamento che modifica il nome verrà visualizzato in un secondo momento?
Michael Küller,

3
No, Hudson (Oracle) non [1] non darà mai un aggiornamento a Jenkins; se Oracle fosse disposto a lavorare con la comunità, non ci sarebbe stata una divisione in primo luogo. [1] Escludendo i maiali che volano, Mr. Ellison diventa il tuo gentile vicino amichevole, ecc.
Nathan Kidd,

8
Vedi qui: wiki.jenkins-ci.org/display/JENKINS/… per come aggiungere Jenkins al centro di upgrade di Hudson.
Simon D

27

Ho due punti da aggiungere. Uno, Hudson / Jenkins riguarda i plugin. Gli sviluppatori di plugin si sono spostati su Jenkins e così dovremmo noi utenti. Due, non sono personalmente un grande fan dei prodotti Oracle. In effetti, li evito come la peste. Per i soldi spesi in licenze e hardware per una soluzione Oracle, puoi assumere il doppio del personale tecnico e avere ancora un po 'di soldi per comprare birra ogni venerdì :)


1
A causa di tutti i plugin uno Jenkins può essere abbastanza diverso dall'altro e anche diverso dalla prossima installazione.
bbaassssiiee,


4

Dal sito Web di Jenkins, http://jenkins-ci.org , riassume quanto segue.

In breve Jenkins CI è il principale server di integrazione continua open-source. Costruito con Java, fornisce oltre 300 plugin per supportare la costruzione e il test praticamente di qualsiasi progetto.

Oracle ora possiede il marchio Hudson, ma lo ha concesso in licenza con EPL Eclipse . Jenkins ha la licenza del MIT . Sia Hudson che Jenkins sono open source. In base alla combinazione di chi lavori e alle preferenze personali per l'open-source, la decisione è semplice IMHO.

Spero sia stato utile.


3
Hudson è un progetto Eclipse di alto livello ora.
Manfred Moser,

14
Oracle ora possiede Hudson e Jenkins è open source. Entrambi sono autorizzati MIT . Descrivere uno come open-source e l'altro come open-source non è fuorviante. Sono software gratuiti.
pb2q,

1
Apparentemente Oracle possiede il nome Hudson (come marchio).
Thorbjørn Ravn Andersen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.