Bagaimana cara memilih antara Hudson dan Jenkins? [Tutup]

451

Butuh sekitar satu jam atau lebih untuk menyelesaikan Hudson yang baru saja bercabang (Jan / 2011)
Saya tidak tahu seberapa cepat perubahan dari masing-masing cabang sekarang, tetapi yang lebih penting, apa arah setiap cabang mengambil dan apa yang kuncinya poin sehingga orang bisa membuat pilihan untuk pergi dengan mana?

Adakah yang memiliki tautan ke peta jalan produk dan perbedaan fitur?

Greg Domjan
sumber
4
apa yang akhirnya Anda pilih antara Jenkins vs Hudson?
chmullig
109
@Kev: Saya tidak setuju, bahwa pertanyaan ini tidak konstruktif. Ini bukan debat seperti "x vs. y, yang lebih disukai", tetapi ini tentang cabang Hudson, yang merupakan informasi yang sangat berguna.
tanascius
9
Ya, utas ini perlu dibuka kembali untuk mendapatkan jawaban yang lebih baru.
djangofan
2
@djangofan Sudah ada pertanyaan lanjutan satu tahun di: stackoverflow.com/q/11433083/234938 - dan sekarang, setahun kemudian, situasinya masih sama.
Christopher Orr
5
Saya memahami sifat berbahaya dari jenis pertanyaan itu, tetapi bagi saya tampaknya (i) telah memunculkan beberapa informasi yang sangat menarik, (ii) belum memulai segala jenis perselisihan dan (iii) sah untuk itu tidak mudah untuk memilih tanpa informasi semacam ini
lab419

Jawaban:

503

Gunakan Jenkins .

Jenkins adalah garpu baru - baru ini oleh pengembang inti Hudson. Untuk memahami alasannya, Anda perlu mengetahui sejarah proyek. Ini awalnya open source dan didukung oleh Sun. Seperti banyak yang dilakukan Sun, itu cukup terbuka, tetapi ada sedikit pengabaian jinak. Sumber, pelacak, situs web, dll. Diselenggarakan oleh Sun pada platform java.net mereka yang relatif tertutup.

Kemudian Oracle membeli Sun. Karena berbagai alasan, Oracle tidak malu memanfaatkan apa yang dianggapnya sebagai asetnya. Itu termasuk beberapa kontrol atas platform logistik Hudson, dan khususnya kontrol atas nama Hudson. Banyak pengguna dan kontributor tidak nyaman dengan itu dan memutuskan untuk pergi.

Jadi turun ke apa yang ditawarkan Hudson vs Jenkins. Baik Hudson dan Jenkins dari Oracle memiliki kode tersebut. Hudson memiliki dukungan korporat dan merek Oracle dan Sonatype. Jenkins memiliki sebagian besar pengembang inti, komunitas, dan (sejauh ini) pekerjaan yang lebih aktual.

Baca yang posting saya terkait di bagian atas, kemudian membaca sisa ini di kronologis urutan . Untuk keseimbangan Anda dapat membaca Hudson / Oracle mengambil di atasnya . Cukup jelas bagi saya siapa yang bermain defensif dan siapa yang memiliki niat nyata untuk proyek ini.

chmullig
sumber
10
"sebagian besar orang di belakangnya" - ini tampaknya benar dari para pendiri proyek, tetapi perlu dicatat bahwa Sonotype (Maven inc) telah berkomitmen pada sisi Hudson dari jurang pemisah, dengan rakit perubahan arsitektur dalam pipa . Akan menarik untuk melihat apakah tim Jenkins masih memiliki inovasi yang cukup di lengan baju mereka untuk mempertahankan pengembang / pengguna mindshare
magicduncan
5
@ Magic: Setidaknya berdasarkan perbandingan singkat ini , dua minggu setelah perpecahan, Jenkins jauh lebih aktif. Bagaimanapun, saat saya bersama Jenkins , menarik untuk melihat apa yang sedang dilakukan Sonatype.
Jonik
14
Berikut pembaruan lain dari orang yang menulis perbandingan singkat @ Jonik. Yang ini ~ 2 bulan kemudian.
chmullig
14
Dan sekarang lima tahun kemudian, Jenkins berkembang pesat, dan Oracle telah membuang Hudson di kuburan gajah Eclipse di mana ia tetapi namanya ditinggalkan.
Thorbjørn Ravn Andersen
115

Seperti yang ditulis chmullig , gunakan Jenkins . Beberapa poin tambahan:

... dan sedikit info latar belakang:

Pencipta Hudson, Kohsuke Kawaguchi , memulai proyek di waktu luangnya, bahkan jika ia bekerja untuk Sun Microsystems dan kemudian dibayar oleh mereka untuk mengembangkannya lebih lanjut. Seperti @erickson catat pada pertanyaan SO lainnya ,

[Hudson / Jenkins] adalah produk dari satu kecerdasan genius — Kohsuke Kawaguchi. Karena itu, itu konsisten, koheren, dan kokoh.

Setelah akuisisi oleh Oracle, Kohsuke tidak berkeliaran lama ( karena kurangnya monitor ...?; -] ), dan mulai bekerja untuk CloudBees . Apa yang dimulai pada akhir 2010 sebagai konflik atas alat antara komunitas dev dan Oracle dan berakhir dengan rename / fork / split didokumentasikan dengan baik dalam tautan yang disediakan chmullig. Bagi saya, seluruh teka-teki itu berbicara, mungkin lebih dari apa pun, tentang ketidakmampuan atau ketidaksediaan Oracle untuk mensponsori proyek sumber terbuka dengan cara yang membuat semua pihak (Oracle, pengembang, pengguna) senang. Itu tidak ada dalam DNA mereka atau semacamnya, seperti yang telah kita lihat dalam kasus lain juga.

Mengingat semua hal di atas, saya pribadi akan mengikuti Kohsuke dan pengembang inti lainnya dalam masalah ini, dan pergi dengan Jenkins.

Jonik
sumber
90

Hanya saya yang mengambil masalah ini, tiga bulan kemudian:

Jenkins terus melangkah dengan baik diinjak oleh Hudson asli dengan rilis sering termasuk banyak pembaruan kecil.

Oracle tampaknya telah banyak mendelegasikan pekerjaan di jalur masa depan untuk Hudson ke tim Sonatype, yang telah melakukan beberapa perubahan signifikan, terutama sehubungan dengan Maven. Mereka bersama-sama memindahkannya ke yayasan Eclipse.

Saya menyarankan jika Anda suka suara:

  • rilis yang lebih jarang tetapi yang lebih berat diuji untuk kompatibilitas mundur (lebih dari siklus rilis "gaya perusahaan")
  • produk yang difokuskan terutama pada integrasi Maven dan / atau Nexus yang kuat (yaitu, Anda tidak tertarik dengan Gradle dan Artifactory dll.)
  • penawaran dukungan profesional dari Sonatype atau mungkin Oracle dalam preferensi untuk Cloudbees dll
  • Anda tidak keberatan memiliki komunitas pengembang plugin yang lebih kecil, dll.

, maka saya akan menyarankan Hudson.

Sebaliknya, jika Anda lebih suka:

  • pembaruan yang lebih sering, bahkan jika mereka memerlukan penyesuaian lebih sering dan mungkin sedikit lebih berisiko dalam hal kompatibilitas (lebih dari siklus rilis "terbaru dan terbaik")
  • sebuah sistem dengan dukungan komunitas yang lebih aktif untuk mis., repositori sistem artefak / bangunan lainnya
  • penawaran dukungan dari pencipta asli et al. dan / atau Anda tidak tertarik pada dukungan profesional (misalnya, Anda bahagia selama Anda bisa mendapatkan perbaikan dalam "terbaru dan terhebat" minggu depan)
  • minuman penyihir bergaya OSS klasik dari ekosistem pembangunan

maka saya akan menyarankan Jenkins. (dan sebagai komentator mencatat, Jenkins sekarang juga memiliki rilis "LTS" yang dikelola pada cabang yang lebih "stabil")


Kursus konservatif adalah memilih Hudson sekarang dan bermigrasi ke Jenkins jika fitur yang harus dimiliki tidak tersedia. Kursus dinamis adalah memilih Jenkins sekarang dan bermigrasi ke Hudson jika mengejar pembaruan menjadi terlalu memakan waktu untuk dibenarkan.

Zac Thompson
sumber
22
Atau dapatkan yang terbaik dari kedua dunia dan gunakan rilis Jenkins Long-Term Support (LTS) baru!
Christopher Orr
48

Di depan .. Saya seorang komuter Hudson dan penulis buku Hudson, tetapi saya tidak terlibat dalam seluruh proyek.

Bagaimanapun, inilah saran saya:

Periksa keduanya dan lihat apa yang sesuai dengan kebutuhan Anda dengan lebih baik.

Hudson akan menyelesaikan migrasi menjadi proyek Eclipse tingkat atas akhir tahun ini dan telah mendapatkan sejumlah pengembang penuh waktu, QA dan yang lainnya yang mengerjakan proyek tersebut. Itu masih berjalan kuat dan memiliki banyak pengguna dan dengan menjadi server CI default di Eclipse akan terus melayani kebutuhan banyak pengembang Java. Melihat peta jalan dan rencana untuk masa depan Anda dapat melihat bahwa setelah integrasi Maven 3 diselesaikan dengan rilis 2.1.0, sejumlah fitur menarik lainnya ada di depan.

http://www.eclipse.org/hudson

Jenkins di sisi lain telah memenangkan banyak pengguna Hudson asli dan memiliki komunitas pengguna besar di berbagai teknologi dan juga memiliki sejumlah pengembang yang bekerja di dalamnya.

Pada tahap ini kedua server CI adalah alat yang hebat untuk digunakan dan tergantung pada kebutuhan Anda dalam hal teknologi untuk berintegrasi dengan satu atau yang lain mungkin lebih baik. Kedua produk tersedia sebagai sumber terbuka dan Anda bisa mendapatkan dukungan komersial dari berbagai perusahaan untuk keduanya.

Dalam hal apa pun .. jika Anda belum menggunakan server CI .. mulai sekarang dengan salah satu dari mereka dan Anda akan melihat manfaat besar.

Pembaruan Jan 2013: Setelah proses pembersihan IP yang lama dan perbaikan lebih lanjut Hudson 3.0 sebagai rilis pertama yang disetujui Eclipse foundation sekarang tersedia.

Manfred Moser
sumber
38

Jenkins adalah Hudson baru. Ini benar-benar lebih seperti penggantian nama, bukan percabangan, karena seluruh komunitas pembangunan pindah ke Jenkins. (Oracle dibiarkan duduk di sudut memegang bola lama mereka "Hudson", tapi itu hanya proyek tanpa jiwa sekarang.)

Cf Ethereal -> WireShark

Nathan Kidd
sumber
Apa yang harus saya lakukan dengan server Hudson Build saya yang sedang berjalan? Saya kira itu tidak akan secara otomatis memperbarui ke garpu / cabang / nama baru Jenkins. Apakah saya harus mengatur server build dari awal?
Michael Küller
4
Anda dapat "meningkatkan" ke Jenkins seperti yang Anda gunakan untuk memutakhirkan dari satu versi Hudson ke yang lain.
nrobey
Saat ini saya menjalankan Hudson 1.395. Saat ini tidak menunjukkan pembaruan saya yang tersedia. Apakah pembaruan yang membuat perubahan nama muncul kemudian?
Michael Küller
3
Tidak, Hudson (Oracle) tidak akan [1] pernah memberikan pembaruan ke Jenkins; jika Oracle bersedia bekerja dengan komunitas tidak akan ada perpecahan di tempat pertama. [1] Cegah babi terbang, Tn. Ellison menjadi tetangga ramah Anda, dll.
Nathan Kidd
8
Lihat di sini: wiki.jenkins-ci.org/display/JENKINS/... untuk cara menambahkan Jenkins ke pusat peningkatan Hudson.
Simon D
27

Saya punya dua poin untuk ditambahkan. Satu, Hudson / Jenkins adalah tentang plugin. Pengembang plugin telah pindah ke Jenkins dan begitu pula kita, para pengguna. Dua, saya pribadi bukan penggemar produk Oracle. Bahkan, saya menghindari mereka seperti wabah. Untuk uang yang dihabiskan untuk lisensi dan perangkat keras untuk solusi Oracle Anda dapat menyewa dua kali staf teknik dan masih memiliki beberapa yang tersisa untuk membeli bir setiap hari Jumat :)

Tim Fulmer
sumber
1
Karena semua plugin yang Jenkins dapat sangat berbeda dari yang lain, dan juga berbeda dari saat Anda menginstalnya.
bbaassssiiee
4

Bagi mereka yang telah menyebutkan rekonsiliasi sebagai masa depan potensial bagi Hudson dan Jenkins, dengan fakta bahwa Jenkins akan bergabung dengan SPI , kecil kemungkinannya pada saat ini mereka akan berdamai.

Chad Wilson
sumber
4

Dari situs web Jenkins, http://jenkins-ci.org , berikut ini ringkasannya.

Singkatnya Jenkins CI adalah server integrasi sumber terbuka berkelanjutan terkemuka. Dibangun dengan Java, ia menyediakan lebih dari 300 plugin untuk mendukung pembangunan dan pengujian hampir semua proyek.

Oracle sekarang memiliki merek dagang Hudson, tetapi telah melisensikannya di bawah Eclipse EPL . Jenkins ada di lisensi MIT . Baik Hudson dan Jenkins adalah open-source. Berdasarkan kombinasi dari siapa Anda bekerja dan preferensi pribadi untuk open-source, keputusan itu langsung IMHO.

Semoga ini bermanfaat.

rinumalaa
sumber
3
Hudson adalah proyek Eclipse tingkat atas sekarang.
Manfred Moser
14
Oracle sekarang memiliki hudson dan Jenkins adalah open-source. Keduanya adalah Lisensi MIT . Menggambarkan satu sebagai open-source dan yang lainnya sebagai-selain-open-source menyesatkan. Mereka adalah perangkat lunak gratis.
pb2q
1
Oracle ternyata memiliki nama Hudson (sebagai merek dagang).
Thorbjørn Ravn Andersen