ไม้ไผ่กับ ฮัดสัน (หรือที่เรียกว่าเจนกินส์) เทียบกับระบบ CI อื่น ๆ [ปิด]


119

ใครมีประสบการณ์กับทั้งฮัดสันและไผ่? มีความคิดเห็นเกี่ยวกับจุดแข็งและจุดอ่อนของผลิตภัณฑ์เหล่านี้หรือไม่?

เอาล่ะเนื่องจากผู้คนมักพูดถึงผลิตภัณฑ์ CI อื่น ๆ ฉันจะเปิดสิ่งนี้ต่อไป นี่คือปัญหาทั่วไปของฉัน ฉันต้องการติดตั้งระบบ CI สำหรับโปรเจ็กต์ใหม่ โปรเจ็กต์นี้น่าจะมีคอมโพเนนต์ Java (WARs และ JARs) โมดูล python บางตัวและอาจเป็นคอมโพเนนต์. NET ดังนั้นฉันต้องการเซิร์ฟเวอร์ CI ที่สามารถ:

  1. จัดการหลายภาษา
  2. ปรับใช้สิ่งประดิษฐ์ไปยังเซิร์ฟเวอร์ (เช่นปรับใช้สงครามหากการทดสอบหน่วยทั้งหมดผ่าน)
  3. ฉันต้องการบางสิ่งที่รวมเข้ากับเครื่องมือครอบคลุมรหัสที่เหมาะสม
  4. รายงานที่ดูดีเป็นสิ่งที่ดี แต่ไม่จำเป็น
  5. กลไกการแจ้งเตือนหลายอย่างเมื่อเกิดข้อผิดพลาด
  6. ฉันไม่กังวลเกี่ยวกับการโฮสต์ ฉันจะเรียกใช้บนเซิร์ฟเวอร์ภายในหรือในอินสแตนซ์ของ Amazon
  7. นอกจากนี้สิ่งนี้อาจจะหมุนไปบนท้องฟ้า แต่มีบางอย่างที่สามารถสร้างแอพ iPhone ได้หรือไม่?

2
แค่ทำให้น้ำขุ่นมัวยิ่งคุณคิดว่าทีมซิตี้? พวกเขามีเวอร์ชันฟรี (จำกัด โดย # ผู้ใช้) เวอร์ชัน ฉันเคยใช้มาแล้วและชอบข้อมูลที่ให้ไว้มาก
Shane Courtrille

ฮัดสันหรือเจนกินส์? ( kohsuke.org/2011/01/11/bye-bye-hudson-hello-jenkins )
Romain Linsolas

2
ปล่อยให้จมน้ำไปเรื่อย ๆ :) ความสมบูรณ์ของแอพ นี้สามารถปรับใช้กับ Heroku ได้ดังนั้นคุณสามารถมีเซิร์ฟเวอร์ CI ได้ฟรี
Nerian

ฉันไม่เคยเห็น TeamCity และฉันไม่รู้เลยว่า Oracle บังคับให้ฮัดสันกลายเป็นเจนกินส์ ฉันจะแก้ไขคำถามเพื่อสะท้อนสิ่งนี้
Karthik Ramachandran

2
มีหัวข้อเกี่ยวกับเรื่องนี้อยู่ที่นี่: forums.atlassian.com/message.jspa?messageID=257292121
พะยอม

คำตอบ:


50

ข้อจำกัดความรับผิดชอบ:ฉันทำงานกับ Bamboo ดังนั้นฉันจะไม่แสดงความคิดเห็นเกี่ยวกับคุณสมบัติของผลิตภัณฑ์ CI อื่น ๆ เนื่องจากประสบการณ์ของฉันกับพวกเขามี จำกัด

เพื่อตอบสนองความต้องการเฉพาะของคุณ:

จัดการหลายภาษา

Bamboo ได้รองรับหลายภาษาแล้ว ลูกค้าใช้กับ Java, .Net, PHP, JavaScript เป็นต้นดังที่กล่าวไว้เซิร์ฟเวอร์ build ส่วนใหญ่มักจะมีลักษณะทั่วไปเพียงพอที่จะเรียกใช้สคริปต์ที่สามารถเริ่มต้นกระบวนการสร้างของคุณได้

ปรับใช้สิ่งประดิษฐ์ไปยังเซิร์ฟเวอร์ (เช่นปรับใช้สงครามหากการทดสอบหน่วยทั้งหมดผ่าน)

Bamboo 2.7 รองรับขั้นตอนการสร้างซึ่งช่วยให้คุณสามารถแยกโครงสร้างของคุณออกเป็นด่านทดสอบหน่วยและด่านปรับใช้ เฉพาะในกรณีที่ด่านทดสอบหน่วยสำเร็จโครงสร้างจะย้ายไปยังขั้นปรับใช้ ในBamboo 3.0เราจะรองรับการแชร์ Artifact ระหว่างด่านต่างๆทำให้คุณสามารถสร้าง Artifact (เช่นสงครามของคุณ) ในด่านแรกและใช้ Artifact นี้ในขั้นตอนต่อไปนี้สำหรับการทดสอบและการปรับใช้

ฉันต้องการบางสิ่งที่รวมเข้ากับเครื่องมือครอบคลุมรหัสที่เหมาะสม

ไม้ไผ่มาพร้อมกับการสนับสนุนสำหรับCloverและยังมีปลั๊กอินใช้ได้สำหรับCobertura

รายงานที่ดูดีเป็นสิ่งที่ดี แต่ไม่จำเป็น

Bamboo มีรายงานมากมายที่ดี แต่ไม่จำเป็น :)

กลไกการแจ้งเตือนหลายอย่างเมื่อเกิดข้อผิดพลาด

Bamboo สามารถแจ้งให้คุณทราบทางอีเมล RSS IM ปลั๊กอิน IDE หรือแผ่นผนังที่สวยงามซึ่งทั้งทีมสามารถมองเห็นได้

ฉันไม่กังวลเกี่ยวกับการโฮสต์ ฉันจะเรียกใช้บนเซิร์ฟเวอร์ภายในหรือในอินสแตนซ์ของ Amazon

จากประสบการณ์โดยทั่วไปแล้วจะถูกกว่าในการโฮสต์เซิร์ฟเวอร์ CI ของคุณเอง แต่ถ้าคุณต้องการปรับขนาด Bamboo ทำให้ง่ายต่อการแจกจ่ายงานสร้างของคุณไปยังตัวแทนในพื้นที่เพิ่มเติมหรือขยายไปยัง Amazon ผ่านตัวแทน Elastic

นอกจากนี้สิ่งนี้อาจจะหมุนไปบนท้องฟ้า แต่มีบางอย่างที่สามารถสร้างแอพ iPhone ได้หรือไม่?

คล้ายกับคำตอบสำหรับคำถามแรกของคุณเซิร์ฟเวอร์ CI ส่วนใหญ่จะสามารถสร้างแอพ iPhone ได้ในบางวิธี เป็นไปได้ว่าจำเป็นต้องมีการเขียนสคริปต์เพิ่มเติมเล็กน้อย

ราคา: Bamboo ไม่ฟรี (นอกเหนือจากใบอนุญาตเริ่มต้นฟรีของเรา) / libre / open-source แต่คุณจะได้รับซอร์สโค้ดของ Bamboo หากคุณซื้อใบอนุญาตเชิงพาณิชย์และการสนับสนุนอย่างเต็มที่ เมื่อเทียบกับต้นทุนพลังงานคอมพิวเตอร์และการบำรุงรักษาที่เป็นไปได้ที่จำเป็นสำหรับเซิร์ฟเวอร์ CI ค่าใช้จ่ายของใบอนุญาต Bamboo นั้นค่อนข้างน้อย

หวังว่านี่จะช่วยได้


15
โครงสร้างราคาของ Bamboo มีข้อบกพร่อง ไม่ได้แยกความแตกต่างระหว่างผู้ใช้ที่มีการสร้างแบบขนานและผู้ใช้ที่ต้องการเพียงแค่ตัวแทนระยะไกลสำหรับการทดสอบข้ามแพลตฟอร์ม หากคุณลองใช้เซิร์ฟเวอร์บิวด์ขนาดเล็กสำหรับ Windows, Linux และ Mac (อาจแตกต่างกันไปในแต่ละเวอร์ชัน) ราคาจะพุ่งสูงถึงหลายพันดอลลาร์ต่อปีอย่างรวดเร็ว แนวทางที่ดีกว่าคือการเรียกเก็บเงินสำหรับการสร้างพร้อมกัน
Gili

คุณลักษณะที่ยิ่งใหญ่ของ Bamboo ในการต่อต้านเจนกินส์คือการรวมสาขาโดยอัตโนมัติเพื่อป้องกันการล่องลอยระหว่างผู้พัฒนาในทีม แต่น่าเศร้าที่พวกเขารองรับเฉพาะ GIT และ Mercurial เท่านั้นดังนั้นใครก็ตามที่ใช้ SVN หรืออย่างอื่นจะไม่ทำงาน แต่เจนกินส์มีปลั๊กอิน SVN Merge ที่ช่วยให้เราทำได้
george_h

1
@george_h ปลั๊กอิน GITสำหรับ Jenkins รองรับการรวมสาขาอัตโนมัติในขณะนี้ ฉันไม่แน่ใจว่าสิ่งนี้ถูกนำมาใช้เมื่อใด
slu

1
เยี่ยมมาก จริงๆแล้วฉันใช้ทั้งไม้ไผ่และเจนกินส์และเจนกินส์ก็ดีกว่า ท้ายที่สุดทั้งหมดเป็นเพียงเซิร์ฟเวอร์ที่รัน Ant + Maven
george_h

40

ฉันไม่ได้ใช้ Bamboo แต่ฉันเคยใช้ Hudson, Cruise และ TFS และจากทั้งหมดนั้น Hudson เป็นมือที่ดีที่สุด ติดตั้งง่ายมากและมี GUI เว็บที่ดีมากสำหรับการกำหนดค่าโครงการ สิ่งที่ยอดเยี่ยมเกี่ยวกับฮัดสันก็คือรองรับภาษาและฟีเจอร์ที่คุณต้องการโดยสมมติว่ามีคนเขียนปลั๊กอินให้ซึ่งพวกเขาอาจมี

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

เราใช้มันเพื่อเรียกใช้. NET, Java และ C ++ สร้างตามช่วงเวลาที่กำหนดไว้เช่นเดียวกับเช็คอิน SVN พร้อมสายรัดทดสอบอัตโนมัติและมันยอดเยี่ยมมาก สถานที่ก่อนหน้านี้ฉันทำงานที่เริ่มการพัฒนา iPhone ก่อนที่ฉันจะจากไปและฉันเชื่อว่าพวกเขาใช้ฮัดสันด้วยเช่นกัน

แถมฟรี!


35

Bamboo vs Hudson ในระดับผิวเผินดูเหมือนจะลงมาที่:

  • ไม้ไผ่: ใช้งานง่ายและดูดี
  • Jenkins: หยาบรอบ ๆ ขอบ แต่มีความยืดหยุ่นมากกว่า Bamboo

ทั้ง Bamboo และ Jenkins มีข้อบกพร่องมากมาย (คุณจะประสบปัญหา) แต่อย่างน้อยกับ Jenkins คุณมีแนวโน้มที่จะมีวิธีแก้ไขปัญหาจนกว่าจะได้รับการแก้ไข ด้วย Bamboo คุณกำลังรอการอัปเดตอยู่


ฉันคงเดาได้ว่าอย่างน้อยคุณก็ได้รับการสนับสนุนทางการค้าด้วย Bamboo
keiki

3
@keiki ใช่และไม่ใช่ ใช่คุณได้รับการสนับสนุนทางการค้า แต่มีค่าใช้จ่ายจำนวนมาก (คุณต้องถามตัวเองว่าต้นทุน / ผลประโยชน์เหมาะสมหรือไม่) เป็นที่น่าสังเกตว่าปัญหามากมายที่คุณจะพบนั้นเกิดจากคุณสมบัติที่ขาดหายไป Atlassian จะพยายามอย่างเต็มที่เพื่อช่วยคุณ แต่ในตอนท้ายของวันนั้นพวกเขามีทรัพยากรที่ จำกัด และอาจใช้เวลาหลายปีในการเพิ่มคุณสมบัติที่คุณขอ (ขึ้นอยู่กับความนิยม)
Gili

1
+1 เพื่อความยืดหยุ่น Bamboo มีข้อ จำกัด อย่างแท้จริงสำหรับเครื่องมือสมัยใหม่เช่นเดียวกับเครื่องมือ CI ซึ่งสิ่งต่างๆไม่ได้ทำตั้งแต่เริ่มต้น ยิ่งไปกว่านั้น Atlassian ยังไม่สามารถจัดลำดับความสำคัญ / จัดการกับ Bamboo bugs ได้อย่างที่เราคุ้นเคยกับการทำงานกับ OSS
ข้าวเปลือก

16

ข้อจำกัดความรับผิดชอบ:ฉันทำงานกับเจนกินส์

ในองค์กรของเรา (ค่อนข้างใหญ่มีนักพัฒนามากกว่า 100 คน) เราพบว่าคุณสมบัติทั้งสองนี้มีประโยชน์มาก:

  1. ปลั๊กอิน CAS พร้อมกลยุทธ์การรักษาความปลอดภัยโครงการเมทริกซ์
  2. สร้างปลั๊กอินไปป์ไลน์
  3. กำหนดการเผยแพร่ LTS

เกี่ยวกับคำถามของคุณ:

  1. ตกลง
  2. SCP PLUGIN หรือ SSH PLUGIN
  3. เราใช้ FINDBUGS, Static Analysis Collector Plug-in, Static Code Analysis Plug-ins, Task Scanner Plugin
  4. ก่อนหน้านี้ที่จุด 3 + ปลั๊กอิน Jenkins DocLinks
  5. เราใช้อีเมล Jenkins Email Extension Plugin แต่รองรับระบบอื่น ๆ เช่น rss, twitter published, sms ...
  6. เรากำลังดำเนินการใน Tomcat Hosting ในพื้นที่
  7. ใช่.

5

ตอนนี้ฉันยังไม่ได้ใช้ Bamboo แต่ข้อแตกต่างอย่างหนึ่งคือ Hudson เป็นซอฟต์แวร์ฟรี / libre / โอเพ่นซอร์ส


10
โหวตลดลง - คำตอบนี้เป็นความจริง แต่เป็นเรื่องเล็กน้อย (น่าจะมีคนรู้เรื่องผลิตภัณฑ์ทั้งสอง) OP กำลังมองหาการเปรียบเทียบคุณสมบัติ
Jason S

1

หากคุณยินดีที่จะจ่ายเงินAnthillจะทำสิ่งเหล่านี้ทั้งหมดที่คุณกำลังมองหา เราใช้ที่ บริษัท ของฉันสำหรับทีมเว็บของเราและมันมีประสิทธิภาพมาก

จัดการหลายภาษา

นอกกรอบมันจะทำงานสคริปต์ที่มีอยู่ของคุณโดยอัตโนมัติและจัดการสิ่งประดิษฐ์ที่พวกเขาสร้างขึ้นไม่ว่าจะเป็นภาษาอะไรก็ตาม

ปรับใช้สิ่งประดิษฐ์ไปยังเซิร์ฟเวอร์ (เช่นปรับใช้สงครามหากการทดสอบหน่วยทั้งหมดผ่าน)

สามารถเพิ่มการทำให้ใช้งานได้เป็นขั้นตอนในกระบวนการสร้างของคุณ ฉันไม่แน่ใจว่าคุณต้องการปรับใช้กับการผลิตโดยตรง แต่คุณทำได้แน่นอนถ้าฝ่ายบริหารบอกว่าคุณต้องทำ

ฉันต้องการบางสิ่งที่รวมเข้ากับเครื่องมือครอบคลุมรหัสที่เหมาะสม

พวกเขารวมออกจากกล่องด้วย Clover, Cobertura, Emma, ​​Checkstyle, CodeSonar, Coverity, FindBugs, Fortify, Klocwork, PMD และ Sonar

รายงานที่ดูดีเป็นสิ่งที่ดี แต่ไม่จำเป็น

ฉันไม่แน่ใจว่ามีรายงานอะไรบ้าง แต่มีแท็บรายงาน (ฉันไม่เข้าไปที่นั่น :-))

กลไกการแจ้งเตือนหลายอย่างเมื่อเกิดข้อผิดพลาด

ฉันรู้ว่ามันสามารถทำอีเมล (ดังนั้น sms) รวมกับบริการ IM บางอย่าง

ฉันไม่กังวลเกี่ยวกับการโฮสต์ ฉันจะเรียกใช้บนเซิร์ฟเวอร์ภายในหรือในอินสแตนซ์ของ Amazon

ฉันเห็นการสาธิตของพวกเขาเริ่มต้นเซสชันระบบคลาวด์จากรูปภาพพร้อมด้วยเอเจนต์สำหรับการปรับใช้ เรารันบนกล่อง Linux ทั่วไป แต่ฉันรู้ว่าบางคนใช้งานบนเซิร์ฟเวอร์ VMWare

นอกจากนี้สิ่งนี้อาจจะหมุนไปบนท้องฟ้า แต่มีบางอย่างที่สามารถสร้างแอพ iPhone ได้หรือไม่?

สิ่งนี้จะอยู่ภายใต้ข้อแรกอาจ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.