Bambu Vs. Hudson (aka Jenkins) ve diğer CI sistemleri [kapalı]


119

Hem Hudson hem de Bamboo ile deneyime sahip olan var mı? Bu ürünlerin görece güçlü ve zayıf yönleri hakkında herhangi bir fikriniz var mı?

Tamam, millet diğer CI ürünlerinden bahsetmeye devam ettiğinden, bunu daha da açacağım. İşte benim genel sorunum. Yeni bir proje için bir CI sistemi kurmak istiyorum. Bu proje büyük olasılıkla Java bileşenlerine (WARs ve JARs), bazı python modüllerine ve hatta muhtemelen bir .NET bileşenine sahip olacaktır. Bu yüzden şunları yapabilen bir CI sunucusu istiyorum:

  1. Birden çok dili işleyin,
  2. Artefaktları sunuculara dağıtın (yani, tüm birim testleri başarılı olursa savaşı dağıtın.)
  3. İyi bir kod kapsama aracı ile entegre olan bir şey de istiyorum.
  4. İyi görünümlü raporlar güzeldir, ancak gerekli değildir.
  5. İşler ters gittiğinde birden fazla bildirim mekanizması.
  6. Ev sahipliği konusunda endişelenmiyorum. Ya yerel bir sunucuda ya da bir Amazon bulut sunucusunda çalıştıracağım.
  7. Ayrıca, bu gökyüzünde pasta olabilir, ancak iPhone uygulamaları da oluşturabilecek bir şey var mı?

2
Sadece suları daha da karıştırmak için Team City'yi düşündünüz mü? Ücretsiz bir sürümleri var (kullanıcı sayısı ile sınırlıdır). Geçmişte kullandım ve sağladığı bilgileri gerçekten beğendim.
Shane Courtrille


2
Suları karıştırmaya devam edelim :) integrityapp.com Bu, Heroku'ya dağıtılabilir, böylece ücretsiz bir CI sunucusuna sahip olabilirsiniz.
Nerian

TeamCity'yi görmedim. Ve Oracle'ın Hudson'ı Jenkins olmaya zorladığını fark etmemiştim. Soruyu bunu yansıtacak şekilde düzenleyeceğim.
Karthik Ramachandran

2
Burada bununla ilgili bir konu var: forums.atlassian.com/message.jspa?messageID=257292121
sal

Yanıtlar:


50

Sorumluluk reddi: Bamboo üzerinde çalışıyorum ve bu nedenle, deneyimlerim sınırlı olduğundan diğer CI ürünlerinin özellikleri hakkında yorum yapmayacağım.

Özel gereksinimlerinize cevap vermek için:

Birden çok dili yönetin

Bamboo, birden fazla dil için kutudan çıkar çıkmaz desteğe sahiptir. Müşteriler bunu Java, .Net, PHP, JavaScript vb. İle kullanır. Bununla birlikte, çoğu yapı sunucusu, en azından oluşturma sürecinizi başlatabilecek bir komut dosyasını çalıştıracak kadar geneldir.

Artefaktları sunuculara dağıtın (yani, tüm birim testleri başarılı olursa savaşı dağıtın.)

Bamboo 2.7, yapınızı bir Birim Test Aşaması ve bir Dağıtım Aşaması olarak bölmenize olanak tanıyan Yapı Aşamalarını destekler. Yalnızca Birim Testi Aşaması başarılı olursa, yapı Dağıtım Aşamasına geçer. In Bambu 3,0 biz ilk Sahne bir Artifacti (örn senin savaşın) oluşturmak ve test ve dağıtım için aşağıdaki aşamaları bu Artifacti kullanmak için izin aşamalar arasındaki Yapay paylaşımını destekleyecek.

İyi bir kod kapsama aracı ile entegre olan bir şey de istiyorum.

Bamboo, Clover için destekle birlikte gelir ve ayrıca Cobertura için bir eklentiye sahiptir .

İyi görünümlü raporlar güzeldir, ancak gerekli değildir.

Bamboo'da güzel, ancak gerekli olmayan bir sürü rapor var :)

İşler ters gittiğinde birden fazla bildirim mekanizması.

Bamboo sizi e-posta, RSS, IM, bir IDE eklentisi veya tüm ekibin görebileceği güzel bir duvar panosu yoluyla bilgilendirebilir.

Ev sahipliği konusunda endişelenmiyorum. Ya yerel bir sunucuda ya da bir Amazon bulut sunucusunda çalıştıracağım.

Deneyimlere göre, kendi CI sunucunuzu barındırmak genellikle daha ucuzdur. Ancak ölçeklendirmeniz gerekiyorsa Bamboo, yapılarınızı ek yerel aracılara dağıtmayı veya Elastic aracıları aracılığıyla Amazon'a ölçeklendirmeyi kolaylaştırır.

Ayrıca, bu gökyüzünde pasta olabilir, ancak iPhone uygulamaları da oluşturabilecek bir şey var mı?

İlk sorunuzun cevabına benzer şekilde, çoğu CI sunucusu bazı şekillerde iPhone uygulamaları oluşturabilir. Yine de biraz daha fazla komut dosyası gerekli olabilir.

Fiyat: Bamboo ücretsiz (ücretsiz başlangıç ​​lisansımız dışında ) / libre / açık kaynak değildir, ancak ticari bir lisans ve tam destek satın alırsanız Bambo'nun kaynak kodunu alacaksınız. Bir CI sunucusu için gerekli olan bilgi işlem gücü maliyeti ve potansiyel bakım ile karşılaştırıldığında, Bamboo lisansının maliyeti oldukça düşüktür.

Bu yardımcı olur umarım.


15
Bambu'nun fiyatlandırma yapısı kusurlu. Paralel derlemeleri olan kullanıcılar ile platformlar arası test için sadece uzak aracılara ihtiyaç duyan kullanıcılar arasında ayrım yapmaz. Windows, Linux ve Mac için küçük bir yapı sunucusu çalıştırmayı denerseniz (belki de her birinin farklı sürümleri), fiyat hızla yılda binlerce dolara fırlar. Eşzamanlı derlemeler için ücret almak daha iyi bir yaklaşım olurdu.
Gili

Bambu'nun jenkins'e karşı en büyük özelliği, ekiplerdeki geliştiriciler arasında sürüklenmeyi önlemek için şubelerin otomatik olarak birleştirilmesidir. Ancak ne yazık ki bunu yalnızca GIT ve Mercurial için destekliyorlar, bu nedenle SVN veya başka bir şey kullanan herhangi bir kişi işe yaramayacak. Ancak Jenkins, bunu yapmamıza izin veren SVN Merge eklentisine sahiptir.
george_h

1
@george_h Jenkins için GIT Eklentisi artık şubelerin otomatik olarak birleştirilmesini destekliyor. Bunun ne zaman uygulandığından emin değilim.
slu

1
Bu harika. Aslında hem bambu hem de jenkins kullandım ve jenkins açık ara daha iyiydi. Sonunda hepsi Ant + Maven'i çalıştıran bir sunucu.
george_h

40

Bamboo kullanmadım ama Hudson, Cruise ve TFS kullandım ve hepsinden en iyisi Hudson oldu. Kurulumu gülünç derecede kolaydır ve proje yapılandırması için gerçekten güzel bir web GUI'ye sahiptir. Hudson hakkında harika olan şey, birinin muhtemelen sahip olduğu bir eklenti yazdığını varsayarsak, isteyebileceğiniz hemen hemen her dili ve özelliği desteklemesidir.

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

Zamanlanmış aralıklarla .NET, Java ve C ++ derlemelerini ve ayrıca otomatik test koşumlarına sahip SVN kontrollerini çalıştırmak için kullandık ve harikaydı. En son çalıştığım yer, ayrılmadan hemen önce bazı iPhone geliştirmelerine başladım ve bunun için de Hudson'ı kullandıklarına inanıyorum.

Üstelik ücretsizdir!


35

Bamboo vs Hudson, çok yüzeysel bir seviyede, aşağı iniyor gibi görünüyor:

  • Bambu: Kullanımı kolay ve güzel görünümlü
  • Jenkins: Kenarları sert ama Bambu'dan çok daha esnektir

Bambu ve Jenkins Hem sayısız hatalar (sahip olacak çok daha bunu düzeltilenekadar bir çözüm olması muhtemeldir Jenkins ile en az sorunla) ama. Bamboo ile bir güncelleme beklemek zorunda kalıyorsunuz.


Bambu ile en azından ticari desteğe sahip olduğunuzu tahmin ederdim.
keiki

3
@keiki, evet ve hayır. Evet, ticari destek alıyorsunuz ancak çok pahalıya mal oluyor (maliyetin / faydanın mantıklı olup olmadığını kendinize sormanız gerekir). Karşılaşacağınız sorunların çoğunun eksik özelliklerden kaynaklandığını belirtmek gerekir. Atlassian size yardımcı olmak için elinden geleni yapacaktır, ancak günün sonunda sınırlı kaynakları vardır ve talep ettiğiniz özellikleri eklemeleri yıllar alabilir (popülerliklerine bağlı olarak).
Gili

1
Esneklik için +1. Bamboo, günümüzün modern bir aracı için gerçekten sınırlıdır, bu da işlerin sıfırdan yapılmadığı bir CI aracı için de geçerlidir. Üstelik Atlassian, Bambu hatalarını OSS ile çalışmaya alıştığımız şekilde önceliklendiremedi / işleyemedi.
Paddy

16

Sorumluluk reddi: Jenkins ile çalışıyorum.

Kuruluşumuzda (oldukça büyük, 100'den fazla geliştirici), bu iki özelliği de çok yararlı bulduk:

  1. Matris proje güvenlik stratejisine sahip CAS eklentisi
  2. Ardışık Düzen Eklentisi Oluşturun
  3. LTS yayın programı.

Sorularınız hakkında:

  1. tamam
  2. SCP PLUGIN veya SSH PLUGIN
  3. FINDBUGS, Static Analysis Collector Plug-in, Static Code Analysis Plug-ins, Task Scanner Plugin kullanıyoruz
  4. 3. noktada + Jenkins DocLinks eklentisi
  5. E-posta Jenkins E-posta Uzantı Eklentisi kullanıyoruz, ancak rss, twitter yayınlama, sms gibi diğer sistemleri de destekliyor ...
  6. Yerel olarak bir Tomcat Hosting ile çalışıyoruz.
  7. Evet.

5

Şimdiye kadar Bamboo kullanmadım, ancak bir fark, Hudson'ın özgür / libre / açık kaynaklı bir yazılım olmasıdır.


10
olumsuz oy verildi - bu yanıt doğrudur, ancak önemsizdir (muhtemelen her iki ürünün de farkında olan biri bunu bilir); OP, özellik karşılaştırmaları arıyor.
Jason S

1

Ödemeye istekliysen, baktığın tüm bunları Anthill yapar. Bunu firmamda web ekibimiz için kullanıyoruz ve oldukça güçlü.

Birden çok dili yönetin

Kutudan çıkar çıkmaz, mevcut komut dosyalarınızı otomatikleştirir ve hangi dilde olursa olsun ürettikleri yapıları yönetir.

Artefaktları sunuculara dağıtın (yani, tüm birim testleri başarılı olursa savaşı dağıtın.)

Dağıtım, oluşturma sürecinize bir adım olarak eklenebilir. Doğrudan üretime dağıtmak isteyeceğinizden emin değilim, ancak yönetim mecburiyetinizi söylerse kesinlikle yapabilirsiniz.

İyi bir kod kapsama aracı ile entegre olan bir şey de istiyorum.

Clover, Cobertura, Emma, ​​Checkstyle, CodeSonar, Coverity, FindBugs, Fortify, Klocwork, PMD ve Sonar ile kutudan çıktığı gibi entegre olurlar.

İyi görünümlü raporlar güzeldir, ancak gerekli değildir.

Hangi raporların mevcut olduğundan emin değilim ama bir raporlar sekmesi var (oraya girmiyorum :-))

İşler ters gittiğinde birden fazla bildirim mekanizması.

E-posta (ve dolayısıyla sms) yapabildiğini, birkaç IM servisiyle bütünleştiğini biliyorum.

Ev sahipliği konusunda endişelenmiyorum. Ya yerel bir sunucuda ya da bir Amazon bulut sunucusunda çalıştıracağım.

Bir görüntüden bir bulut oturumu başlattıklarını gösteren bir demosunu, dağıtım için bir aracı ile tamamladım. Bunu tipik bir Linux kutusunda çalıştırıyoruz, ancak bazılarının onu bir VMWare sunucusunda çalıştırdığını biliyorum.

Ayrıca, bu gökyüzünde pasta olabilir, ancak iPhone uygulamaları da oluşturabilecek bir şey var mı?

Bu muhtemelen ilkinin altına düşecektir.

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.