Bambu Vs. Hudson (alias Jenkins) vs Sistem CI lainnya [ditutup]

119

Adakah yang punya pengalaman dengan Hudson dan Bamboo? Ada pendapat tentang kekuatan dan kelemahan relatif dari produk ini?

Oke, karena orang-orang terus menyebut produk CI lainnya, saya akan membukanya lebih jauh. Inilah masalah umum saya. Saya ingin menyiapkan sistem CI untuk proyek baru. Proyek ini kemungkinan akan memiliki komponen Java (WARs dan JARs), beberapa modul python, dan bahkan mungkin komponen .NET. Jadi saya ingin server CI yang dapat:

  1. Tangani banyak bahasa,
  2. Menerapkan artefak ke server (yaitu menyebarkan perang jika semua tes unit lulus.)
  3. Saya juga ingin sesuatu yang terintegrasi dengan alat cakupan kode yang layak.
  4. Laporan yang terlihat bagus memang bagus, tapi tidak penting.
  5. Mekanisme pemberitahuan ganda ketika ada yang salah.
  6. Saya tidak khawatir tentang hosting. Saya akan menjalankannya di server lokal atau di instans Amazon.
  7. Juga, ini mungkin kue di langit, tetapi adakah sesuatu yang juga dapat membangun aplikasi iPhone?
Karthik Ramachandran
sumber
2
Hanya untuk lebih mengacaukan air, sudahkah Anda mempertimbangkan Team City? Mereka memiliki versi gratis (dibatasi oleh # pengguna) versi. Saya telah menggunakannya di masa lalu dan sangat menyukai informasi yang diberikannya.
Shane Courtrille
Hudson atau Jenkins? ( kohsuke.org/2011/01/11/bye-bye-hudson-hello-jenkins )
Romain Linsolas
2
Biarkan tetap kacau :) integrityapp.com Ini dapat diterapkan ke Heroku, sehingga Anda dapat memiliki server CI secara gratis.
Nerian
Saya belum melihat TeamCity. Dan saya tidak menyadari bahwa Oracle memaksa Hudson menjadi Jenkins. Saya akan mengedit pertanyaan untuk mencerminkan ini.
Karthik Ramachandran
2
Ada utas tentang itu di sini: forums.atlassian.com/message.jspa?messageID=257292121
sal

Jawaban:

50

Penafian: Saya mengerjakan Bamboo dan oleh karena itu saya tidak akan mengomentari fitur produk CI lain karena pengalaman saya terbatas.

Untuk menjawab kebutuhan spesifik Anda:

Tangani banyak bahasa

Bambu memiliki dukungan di luar kotak untuk berbagai bahasa. Pelanggan menggunakannya dengan Java, .Net, PHP, JavaScript, dll. Meskipun demikian, sebagian besar server build cukup umum untuk setidaknya menjalankan skrip yang dapat memulai proses build Anda.

Menerapkan artefak ke server (yaitu menyebarkan perang jika semua tes unit lulus.)

Bamboo 2.7 mendukung Tahapan Build, yang memungkinkan Anda memecah bangunan Anda menjadi Tahap Pengujian Unit dan Tahap Penerapan. Hanya jika Tahap Pengujian Unit berhasil, build akan dilanjutkan ke Tahap Penerapan. Di Bamboo 3.0 kami akan mendukung berbagi Artefak antar tahapan, memungkinkan Anda untuk membuat Artefak (misalnya perang Anda) di Tahap pertama dan menggunakan Artefak ini di Tahapan berikut untuk pengujian dan penyebaran.

Saya juga ingin sesuatu yang terintegrasi dengan alat cakupan kode yang layak.

Bamboo hadir dengan dukungan untuk Clover dan juga memiliki plugin yang tersedia untuk Cobertura .

Laporan yang terlihat bagus memang bagus, tapi tidak penting.

Bambu memiliki banyak laporan yang bagus, tetapi tidak penting :)

Mekanisme pemberitahuan ganda ketika ada yang salah.

Bamboo dapat memberi tahu Anda melalui email, RSS, IM, plugin IDE, atau papan dinding bagus yang dapat dilihat oleh seluruh tim.

Saya tidak khawatir tentang hosting. Saya akan menjalankannya di server lokal atau di instans Amazon.

Dari pengalaman, biasanya lebih murah untuk meng-host server CI Anda sendiri. Tetapi jika Anda perlu menskalakan, Bamboo memudahkan pendistribusian bangunan Anda ke agen lokal tambahan atau skala ke Amazon melalui agen Elastic.

Juga, ini mungkin kue di langit, tetapi adakah sesuatu yang juga dapat membangun aplikasi iPhone?

Mirip dengan jawaban untuk pertanyaan pertama Anda, sebagian besar server CI akan dapat membuat aplikasi iPhone dengan beberapa cara. Mungkin ada sedikit lebih banyak skrip yang diperlukan.

Harga: Bamboo tidak gratis (terlepas dari lisensi starter gratis kami ) / libre / open-source, tetapi Anda akan mendapatkan kode sumber Bamboo jika Anda membeli lisensi komersial dan dukungan penuh. Dibandingkan dengan biaya daya komputasi dan potensi pemeliharaan yang diperlukan untuk server CI, biaya lisensi Bamboo agak kecil.

Semoga ini membantu.

jens
sumber
15
Struktur harga bambu cacat. Ini tidak membedakan antara pengguna dengan build paralel dan pengguna yang hanya membutuhkan agen jarak jauh untuk pengujian lintas platform. Jika Anda mencoba menjalankan build server kecil untuk Windows, Linux, dan Mac (mungkin bahkan versi yang berbeda dari masing-masing) harganya dengan cepat melonjak menjadi ribuan dolar setahun. Pendekatan yang lebih baik adalah menagih untuk build bersamaan.
Gili
Fitur besar Bamboo terhadap jenkins adalah penggabungan cabang secara otomatis untuk mencegah penyimpangan di antara pengembang dalam tim. Namun sayangnya mereka hanya mendukung ini untuk GIT dan Mercurial sehingga siapa pun yang menggunakan SVN atau yang lainnya tidak akan berfungsi. Tetapi Jenkins memiliki plugin Penggabungan SVN yang memungkinkan kami melakukannya.
george_h
1
@george_h Plugin GIT untuk Jenkins mendukung penggabungan cabang secara otomatis sekarang. Saya tidak yakin kapan ini diterapkan.
slu
1
Itu hebat. Saya sebenarnya telah menggunakan bambu dan jenkins dan jenkins sejauh ini lebih baik. Pada akhirnya, semuanya hanya server yang menjalankan Ant + Maven.
george_h
40

Saya belum pernah menggunakan Bamboo tetapi saya telah menggunakan Hudson, Cruise dan TFS dan dari semuanya Hudson adalah yang terbaik. Sangat mudah untuk mengatur dan memiliki GUI web yang sangat bagus untuk konfigurasi proyek. Apa yang hebat tentang Hudson adalah ia mendukung hampir semua bahasa dan fitur yang Anda inginkan dengan asumsi seseorang telah menulis plugin untuk itu, yang mungkin mereka miliki.

http://wiki.hudson-ci.org/display/HUDSON/Plugins

Kami menggunakannya untuk menjalankan .NET, Java dan C ++ membangun pada interval waktu serta checkin SVN dengan harness pengujian otomatis dan itu hebat. Tempat sebelum terakhir saya bekerja memulai beberapa pengembangan iPhone sebelum saya pergi dan saya yakin mereka juga menggunakan Hudson untuk itu.

Selain itu, gratis!

Steve Whitfield
sumber
35

Bamboo vs Hudson, pada tingkat yang sangat dangkal, tampaknya turun ke:

  • Bambu: Mudah digunakan dan terlihat bagus
  • Jenkins: Kasar di tepinya, tetapi jauh lebih fleksibel daripada Bambu

Baik Bamboo dan Jenkins memiliki banyak bug (Anda akan mengalami masalah) tetapi setidaknya dengan Jenkins Anda lebih cenderung memiliki solusi sampai diperbaiki. Dengan Bamboo, Anda terjebak menunggu pembaruan.

Gili
sumber
Saya akan menduga bahwa dengan Bambu Anda setidaknya memiliki dukungan komersial untuk itu.
keiki
3
@keiki, ya dan tidak. Ya, Anda mendapatkan dukungan komersial tetapi membutuhkan banyak uang (Anda perlu bertanya pada diri sendiri apakah biaya / manfaatnya masuk akal). Perlu dicatat bahwa banyak masalah yang akan Anda hadapi disebabkan oleh fitur yang hilang. Atlassian akan mencoba sebaik mungkin untuk membantu Anda, tetapi pada akhirnya mereka memiliki sumber daya yang terbatas dan mungkin perlu waktu bertahun-tahun untuk menambahkan fitur yang Anda minta (tergantung popularitas mereka).
Gili
1
1 untuk fleksibilitas. Bambu sangat terbatas untuk alat modern, itu juga untuk alat CI, di mana hal-hal tidak dilakukan dari awal. Selain itu, Atlassian belum dapat memprioritaskan / menangani bug Bambu seperti yang biasa kami lakukan dengan OSS.
Paddy
16

Penafian: Saya bekerja dengan Jenkins.

Dalam organisasi kami (cukup besar, lebih dari 100 pengembang), kami juga menemukan dua fitur ini sangat berguna:

  1. Plugin CAS dengan strategi keamanan proyek matriks
  2. Bangun Plugin Pipeline
  3. Jadwal rilis LTS.

Tentang pertanyaan Anda:

  1. baik
  2. SCP PLUGIN atau SSH PLUGIN
  3. Kami menggunakan FINDBUGS, Plug-in Kolektor Analisis Statis, Plug-in Analisis Kode Statis, Plugin Pemindai Tugas
  4. Sebelumnya pada poin 3 + plugin Jenkins DocLinks
  5. Kami menggunakan Plugin Email Jenkins Email Extension, tetapi mendukung juga sistem lain, seperti rss, twitter publish, sms ...
  6. Kami menjalankan di Tomcat Hosting, Secara Lokal.
  7. Iya.
Federico Paolantoni
sumber
5

Sejauh ini, saya belum pernah menggunakan Bamboo, tetapi satu perbedaan adalah Hudson adalah perangkat lunak gratis / libre / open-source.

Puce
sumber
10
suara negatif - jawaban ini benar, tetapi sepele (mungkin seseorang yang mengetahui kedua produk mengetahui hal ini); OP sedang mencari perbandingan fitur.
Jason S
1

Jika Anda bersedia membayarnya, Anthill melakukan semua yang Anda cari. Kami menggunakannya di perusahaan saya untuk tim web kami, dan ini cukup kuat.

Tangani banyak bahasa

Di luar kotak, itu mengotomatiskan skrip Anda yang ada dan mengelola artefak yang mereka hasilkan tidak peduli bahasa apa.

Menerapkan artefak ke server (yaitu menyebarkan perang jika semua tes unit lulus.)

Deployment dapat ditambahkan sebagai langkah dalam proses build Anda. Saya tidak yakin Anda ingin menerapkan langsung ke produksi, tetapi Anda pasti bisa jika manajemen mengatakan Anda harus melakukannya.

Saya juga ingin sesuatu yang terintegrasi dengan alat cakupan kode yang layak.

Mereka terintegrasi di luar kotak dengan Clover, Cobertura, Emma, ​​Checkstyle, CodeSonar, Coverity, FindBugs, Fortify, Klocwork, PMD dan Sonar.

Laporan yang terlihat bagus memang bagus, tapi tidak penting.

Saya tidak yakin laporan apa yang tersedia tetapi ada tab laporan (Saya tidak masuk ke sana :-))

Mekanisme pemberitahuan ganda ketika ada yang salah.

Saya tahu itu bisa melakukan email (dan karena itu sms), terintegrasi dengan beberapa layanan IM.

Saya tidak khawatir tentang hosting. Saya akan menjalankannya di server lokal atau di instans Amazon.

Saya melihat demo mereka menjalankan sesi cloud dari sebuah gambar, lengkap dengan agen untuk penerapan. Kami menjalankannya di kotak Linux biasa, tetapi saya tahu beberapa orang menjalankannya di server VMWare.

Juga, ini mungkin kue di langit, tetapi adakah sesuatu yang juga dapat membangun aplikasi iPhone?

Ini mungkin termasuk di bawah yang pertama.

corsiKa
sumber