Hudson ve Jenkins arasında nasıl seçim yapılır? [kapalı]


451

Hudson'ın son zamanlarda dallanmış olması bir saat kadar sürdü (Oca / 2011)
Her bir dalın değişiminin ne kadar hızlı olduğu hakkında hiçbir fikrim yok, ama daha da önemlisi, her bir dalın yönlendirdiği yön ve anahtar nedir puanlar böylece biri ile gitmek için bir seçim yapabilir?

Ürün yol haritasına ve özellik farklılıklarına sahip olan var mı?


4
Jenkins vs Hudson arasında ne seçtiniz?
chmullig

109
@Kev: Bu sorunun yapıcı olmadığına katılmıyorum. Bu "x vs. y, hangisini tercih edecek" gibi bir tartışma değil, ama Hudson'ın çok yararlı bir bilgi dalıyla ilgili.
tanascius

9
Evet, bu konunun daha güncel cevaplar için yeniden açılması gerekiyor.
djangofan

2
@djangofan Zaten bir yıl boyunca takip eden bir soru vardı: stackoverflow.com/q/11433083/234938 - ve şimdi, bir yıl sonra, durum hala aynı.
Christopher Orr

5
Bu tür bir sorunun tehlikeli doğasını anlıyorum, ama bana öyle geliyor ki (i) çok ilginç bazı bilgiler getirdi, (ii) herhangi bir anlaşmazlık başlatmadı ve (iii) kolay olmadığı için meşru bilgi olmadan nasıl
seçilir

Yanıtlar:


503

Jenkins'i kullanın .

Jenkins, Hudson'ın çekirdek geliştiricileri tarafından yapılan son çatal . Nedenini anlamak için projenin tarihini bilmeniz gerekir. Başlangıçta açık kaynak kodlu ve Sun tarafından destekleniyordu. Sun'ın yaptığı gibi, oldukça açıktı, ama biraz iyi huysuzluk vardı. Kaynak, izleyiciler, web sitesi vb. Sun tarafından nispeten kapalı java.net platformunda barındırıldı.

Sonra Oracle Sun'ı satın aldı. Çeşitli nedenlerle Oracle, varlıkları olarak algıladığı şeyden yararlanmaktan çekinmedi. Bunlar, Hudson'ın lojistik platformu üzerinde bazı kontrolleri ve özellikle Hudson adı üzerinde kontrolü içerir. Birçok kullanıcı ve katılımcı bu konuda rahat değildi ve ayrılmaya karar verdi.

Bu yüzden Hudson vs Jenkins'in sunduklarına iniyoruz. Hem Oracle'ın Hudson hem de Jenkins kodu var. Hudson, Oracle ve Sonatype'ın kurumsal desteğine ve markasına sahiptir. Jenkins çekirdek geliştiricilerin, topluluğun ve (şimdiye kadar) çok daha gerçek işlerin çoğuna sahiptir.

Tepeye kadar bağlantılı sonrası Oku, sonra okumak kalanını bu kronolojik içinde sırayla . Denge için, Hudson / Oracle okuyabilir üzerinde take . Kimin savunmada oynadığı ve proje için gerçek niyetleri olan benim için çok açık.


10
"arkasındaki insanların çoğu" - bu proje kurucuları için geçerli gibi görünüyor, ancak Sonotype'ın (Maven inc) boru hattında bir mimari değişiklik salgısıyla kendilerini bölmenin Hudson tarafına adadığı belirtilmelidir. . Jenkins'in geliştiriciyi / kullanıcı
mindshare'i

5
@magic: En azından bölünmeden iki hafta sonra yapılan bu kısa karşılaştırmaya dayanarak Jenkins çok daha aktif. Her durumda, Jenkins'le birlikteyken , Sonatype adamlarının ne yaptığını görmek ilginç.
Jonik

14
İşte @ Jonik'in kısa karşılaştırmasını yazan kişi tarafından başka bir güncelleme . Bu ~ 2 ay sonra.
chmullig

14
Ve şimdi beş yıl sonra Jenkins gelişiyor ve Oracle, Hudson'ı Eclipse fil mezarlığına terk etti, ancak adı terk edildi.
Thorbjørn Ravn Andersen

115

Chmullig'in yazdığı gibi Jenkins'i kullanın . Bazı ek noktalar:

  • Aslında, muhtemelen çatalını yapan Oracle oldu ! Ve teknik olarak da böyle oldu .

  • Yine de "Hudson" dan ne geldiğini görmek ilginç. İken "Winston Hudson projesi devlet ve pembe bir gelecek özetlemektedir" onlar başlangıçta bana garip mizah gibi görünüyordu (yeni) Hudson web sitesinde yayınlanan şeyler, belki de bu bir amaca devralma oldu ve Sonatype adamlar aslında bazı büyük fikirler var onların kol. Oracle / Sonatype tarafından Kohsuke ve mürettebatı daha "girişimci" bir Hudson yaratmak için kasıtlı bir strateji öneren bu analiz çok ilginç bir okuma!

  • Her durumda, bu kısa karşılaştırma , bölünmeden sonraki iki hafta içinde - tam olarak bilimsel olmasa da - Jenkins'in iki projeden çok daha aktif olduğunu gösteriyor.

... ve biraz arka plan bilgisi:

Hudson'ın yaratıcısı Kohsuke Kawaguchi , Sun Microsystems için çalışıyor olsa da projeyi boş zamanlarında başlattı ve daha sonra geliştirmeleri için onlara para verdi. @ Erickson'un başka bir SO sorusunda belirttiği gibi ,

[Hudson / Jenkins] tek bir dahi aklın ürünüdür: Kohsuke Kawaguchi. Bu nedenle, tutarlı, tutarlı ve kaya gibi sağlam.

Oracle tarafından satın alınmasından sonra, Kohsuke uzun süre asılı değildi ( nedeniyle monitörler eksikliği ? ...; -] ) ve için işe gitti CloudBees . 2010 yılının sonlarında dev topluluğu ve Oracle arasındaki araçlar üzerinde çatışma olarak başlayan ve yeniden adlandırma / fork / split ile biten şey, sağlanan bağlantılarda iyi belgelenmiştir. Bana göre, tüm muamma, belki de her şeyden daha fazla, Oracle'ın tüm tarafları (Oracle, geliştiriciler, kullanıcılar) mutlu edecek şekilde açık kaynaklı bir projeye sponsorluk yapamaması ya da istememesi hakkında konuşuyor. Başka durumlarda da gördüğümüz gibi DNA'sında falan değil .

Yukarıdakilerin tümü göz önüne alındığında, bu konuda Kohsuke ve diğer çekirdek geliştiricileri kişisel olarak takip edip Jenkins ile birlikte giderdim.


90

Sadece üç ay sonra konuyu ele alacağım:

Jenkins, orijinal Hudson tarafından çok sayıda küçük güncelleme de dahil olmak üzere sık sürümlerle yoluna devam etti.

Oracle, özellikle Maven ile ilgili olarak bazı önemli değişiklikler yapan Sonatype ekibine Hudson için gelecekteki yol üzerinde çalışma yetkisi verdi. Birlikte Eclipse vakfına taşıdılar.

Eğer sesini isterseniz:

  • daha az sürüm, ancak geriye dönük uyumluluk için daha fazla test edilen sürümler ("kurumsal tarz" sürüm döngüsünün daha fazlası)
  • öncelikle güçlü Maven ve / veya Nexus entegrasyonuna odaklanmış bir ürün (yani Gradle ve Artifactory vb. ile hiçbir ilginiz yok)
  • Cloudbees vs. yerine Sonatype veya belki de Oracle'dan profesyonel destek teklifleri
  • daha küçük bir eklenti geliştiricileri vb.

, o zaman Hudson'ı öneririm.

Tersine, isterseniz:

  • biraz daha sık tweaking gerektirse ve uyumluluk açısından belki biraz daha riskli olsalar bile daha sık güncelleme
  • örneğin diğer yapı sistemleri / yapay depolar için daha aktif topluluk desteğine sahip bir sistem
  • orijinal içerik oluşturucu ve ark. ve / veya profesyonel desteğe ilgi duymuyorsanız (ör. gelecek haftanın "en yeni ve en mükemmel" sürümünde düzeltme alabildiğiniz sürece mutlu olursunuz)
  • klasik bir OSS tarzı cadıların bir kalkınma ekosistemi demlemek

o zaman Jenkins'i öneririm. (ve bir yorumcunun belirttiği gibi, Jenkins artık daha "istikrarlı" bir dalda "LTS" sürümlerine sahiptir)


Muhafazakar kurs şimdi Hudson'ı seçmek ve olmazsa olmaz özelliklere sahip değilse Jenkins'e geçmek olacaktır. Dinamik kurs şimdi Jenkins'i seçmek ve güncellemeleri takip etmek haklı çıkarmak için çok zaman alıcı hale gelirse Hudson'a göç etmek olacaktır.


22
Veya her iki dünyanın en iyisini alın ve yeni Jenkins Uzun Süreli Destek (LTS) sürümlerini kullanın!
Christopher Orr

48

Önde .. Ben Hudson komutanıyım ve Hudson kitabının yazarıyım, ama projelerin tümünde yer almadım.

Her durumda benim tavsiyem:

Her ikisine de göz atın ve ihtiyaçlarınıza daha uygun olanı görün.

Hudson, bu yılın sonunda üst düzey Eclipse projeleri olacak şekilde geçişi tamamlayacak ve tam zamanlı geliştiriciler, kalite güvencesi ve proje üzerinde çalışan diğer bir sürü kurumu tamamlayacak. Hala güçlü ve çok sayıda kullanıcısı var ve Eclipse'deki varsayılan CI sunucusu olarak birçok Java geliştiricisinin ihtiyaçlarını karşılamaya devam edecek. Yol haritasına ve geleceğe yönelik planlara baktığınızda, Maven 3 entegrasyonu 2.1.0 sürümü ile tamamlandıktan sonra bir sürü ilginç özellik önünüzde olduğunu görebilirsiniz.

http://www.eclipse.org/hudson

Diğer tarafta Jenkins birçok orijinal Hudson kullanıcısını kazandı ve birden fazla teknolojide geniş bir kullanıcı topluluğuna sahip ve aynı zamanda üzerinde çalışan bir sürü geliştiriciye sahip.

Bu aşamada her iki CI sunucusu da kullanmak için harika araçlardır ve ihtiyaçlarınız doğrultusunda teknolojiden birine veya diğerine entegre etmek daha iyi olabilir. Her iki ürün de açık kaynak olarak mevcuttur ve her ikisi için de çeşitli şirketlerden ticari destek alabilirsiniz.

Her durumda .. henüz bir CI sunucusu kullanmıyorsanız .. şimdi bunlardan biriyle başlayın ve büyük faydalar göreceksiniz.

Güncelleme Ocak 2013: IP temizleme ve daha fazla iyileştirme uzun bir süreç sonra Hudson Eclipse Vakfı onaylı ilk sürümü şimdi kullanılabilir 3.0.


38

Jenkins yeni Hudson. Tüm gelişim topluluğu Jenkins'e taşındığından, bu gerçekten bir yeniden adlandırma gibidir, çatal değil. (Oracle eski toplarını "Hudson" tutan bir köşede oturuyor, ama şimdi sadece ruhsuz bir proje.)

Cf Ethereal -> WireShark


Çalışan Hudson Build sunucumla ne yapmam gerekiyor? Sanırım otomatik olarak yeni Jenkins çatal / şube / yeniden adlandırma güncelleme olmaz. Derleme sunucusunu sıfırdan kurmak zorunda mıyım?
Michael Küller

4
Hudson'ın bir versiyonundan diğerine yükseltme yaptığınız gibi Jenkins'e de "yükseltme" yapabilirsiniz.
nrobey

Şu anda Hudson 1.395 çalıştırıyorum. Şu anda mevcut güncellemelerimi göstermiyor. İsim değişikliğini yapan güncelleme daha sonra mı geliyor?
Michael Küller

3
Hayır, Hudson (Oracle) Jenkins'e bir güncelleme vermeyecek; Oracle toplulukla çalışmaya istekli olsaydı, ilk etapta bir bölünme olmazdı. [1] Domuzlar uçuyor, Bay Ellison sizin nazik dost komşunuz oluyor, vs.
Nathan Kidd

8
Jenkins'in Hudson'ın yükseltme merkezine nasıl ekleneceği hakkında bilgi için buraya bakın: wiki.jenkins-ci.org/display/JENKINS/… .
Simon D

27

Eklemek için iki puanım var. Birincisi, Hudson / Jenkins tamamen eklentilerle ilgilidir. Eklenti geliştiricileri Jenkins'e taşındı ve biz de kullanmalıyız. İkincisi, ben şahsen Oracle ürünlerinin büyük bir hayranı değilim. Aslında, veba gibi onlardan kaçınırım. Bir Oracle çözümü için lisanslama ve donanım için harcanan para için, mühendislik personelini iki kez kiralayabilir ve yine de her Cuma bira satın almak için biraz bırakabilirsiniz :)


1
Tüm eklentiler nedeniyle bir Jenkins diğerinden oldukça farklı olabilir ve bir sonraki kurulumunuzdan da farklı olabilir.
bbaassssiiee

4

Hudson ve Jenkins için bir uzlaşma potansiyel bir gelecek olarak bahsetmiş olanlar için, Jenkins'in SPI'ye katılacağı gerçeği ile, bu noktada uzlaşmaları pek mümkün değil.


4

Jenkins web sitesinde, http://jenkins-ci.org , aşağıdakileri özetlemektedir.

Özetle Jenkins CI önde gelen açık kaynaklı sürekli entegrasyon sunucusudur. Java ile oluşturulmuş olup, neredeyse tüm projelerin oluşturulmasını ve test edilmesini desteklemek için 300'den fazla eklenti sağlar.

Oracle şimdi Hudson ticari markasının sahibidir, ancak Eclipse EPL lisansı altında lisanslanmıştır . Jenkins MIT lisansında . Hem Hudson hem de Jenkins açık kaynaklıdır. Kimin için çalıştığınız ve açık kaynak için kişisel tercih kombinasyonuna dayanarak, karar doğrudan IMHO'dur.

Umarım bu yardımcı oldu.


3
Hudson şu anda üst düzey bir Eclipse projesidir.
Manfred Moser

14
Oracle şimdi hudson'un sahibidir ve Jenkins açık kaynaklıdır. Her ikisi de MIT Lisanslıdır . Birini açık kaynak, diğerini açık kaynak dışında tanımlamak yanıltıcıdır. Bunlar özgür yazılım.
pb2q

1
Oracle görünüşe göre Hudson isminin sahibidir (bir ticari marka olarak).
Thorbjørn Ravn Andersen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.