ฮัดสันหรือ Teamcity สำหรับการรวมอย่างต่อเนื่อง? [ปิด]


100

เราเป็นร้าน Java ที่กำลังมองหาเครื่องมือ CI เพื่อใช้งาน ทั้งHudsonและTeamcityดูเหมือนจะไม่มีค่าใช้จ่าย แต่ Teamcity ดูเหมือนจะสั่นคลอนและได้รับการสนับสนุนมากขึ้น

ฉันสงสัยว่าทำไมเราถึงยังคงใช้ฮัดสันและถ้าใครสามารถโต้แย้ง / ต่อต้านอย่างใดอย่างหนึ่งได้?


คุณอาจสนใจคำตอบที่นี่: stackoverflow.com/questions/1200721/…
ire_and_curses

ฉันจะโยน CruiseControl ลงในส่วนผสม - ถ้าคุณยังไม่ได้พิจารณา ไม่สามารถแสดงความคิดเห็นเกี่ยวกับมุมมอง java ได้โดยใช้เวอร์ชัน. NET แต่ฉันชอบสิ่งนั้น
AdaTheDev

3
@ire_and_curses ไม่มีการตอบกลับใด ๆ ในโพสต์ที่ให้ข้อโต้แย้งที่ดีสำหรับเครื่องมือใด ๆ เมื่อเทียบกับเครื่องมืออื่น
pdeva

4
-1 สำหรับ Cruise Control - มีไฟล์การกำหนดค่ามากเกินไปซึ่งจำเป็นต้องตั้งค่าด้วยตนเอง "ก็แค่นั้น"
Bevan

3
เท่าที่ฉันเห็นการมีอยู่ของ TeamCity ฟรีทำให้ CruiseControl หมดอายุ ฉันไม่เห็นเหตุผลใด ๆ ที่จะใช้ CruiseControl กับ TeamCity และหลายเหตุผลในการย้อนกลับ
Niall Connaughton

คำตอบ:


113

Team City เป็นเซิร์ฟเวอร์ CI ที่ดีที่สุดในโลก คุณลักษณะที่ยอดเยี่ยมสำหรับฉันคือการผสานรวมกับ IDEs (IntelliJ, Eclipse และ VisualStudio) อย่างแน่นหนา มันสามารถแสดงให้คุณเห็นเช่นเมื่อไฟล์ที่คุณกำลังแก้ไขใน IDE ล้าสมัยใครเป็นคนเปลี่ยนและสิ่งที่พวกเขาเปลี่ยนแปลง คุณสามารถคอมมิตจาก IDE ไปยังเซิร์ฟเวอร์ CI รัน comile และทดสอบบนบิลด์กริดจากนั้นเซิร์ฟเวอร์ CI จะคอมมิตหากบิวด์สำเร็จ คุณสามารถคลิกที่รายงานการสร้างในแอป CI เว็บและจะเปิดไฟล์ที่เหมาะสมใน IDE

มีปลั๊กอินให้ใช้งาน (ฉันเขียนไว้อย่างหนึ่ง: http://team-piazza.googlecode.com ) แต่มีไม่มากนัก


9
การทำงานระยะไกล / การทดสอบล่วงหน้าเป็นคุณสมบัติที่มีประโยชน์มากของ TeamCity โดยทั่วไป TC จะสะดวกกว่าหากบิวด์ของคุณไม่เร็วเพราะใน TeamCity คุณจะได้รับข้อเสนอแนะอย่างต่อเนื่องเกี่ยวกับสิ่งที่เกิดขึ้นในบิลด์ของคุณ (จำนวนการทดสอบผ่านล้มเหลวในขั้นตอนที่บิลด์เป็นและอื่น ๆ ) นอกจากนี้การแจ้งเตือน TC ยังมีความซับซ้อนมากขึ้น คุณสามารถกำหนดค่ากฎที่แตกต่างกันสำหรับบิลด์ประเภทต่างๆและสำหรับการแจ้งเตือนที่หลากหลาย (อีเมล, Jabber, ถาด windows)
Pavel Sher

6
@Pavel: ฉันไม่รู้จัก TeamCity และ Hudson ดังนั้นฉันจะไม่ท้าทายการเริ่มต้นความคิดเห็นของคุณ แต่เกี่ยวกับการแจ้งเตือนการอ้างว่า TC มีความซับซ้อนมากขึ้นนั้นเป็น FUD ที่บริสุทธิ์ในความเห็นที่ไม่ถ่อมตัวของฉัน ช่องทางการแจ้งเตือนที่กล่าวถึงทั้งหมดมีอยู่ใน Hudson (คุณสามารถเพิ่ม twitter ได้ด้วย) จริงๆแล้วฉันพนันได้เลยว่าฮัดสันมีปลั๊กอินมากกว่า TC (ตรวจสอบwiki.hudson-ci.org/display/HUDSON/Plugins ) และฉันแน่ใจว่า TC มีข้อ จำกัด มากกว่าที่ฮัดสัน
Pascal Thivent

3
ฉันเห็นด้วยเกี่ยวกับช่อง (ฮัดสันมีปลั๊กอินจำนวนมาก) แต่ไม่เห็นด้วยเกี่ยวกับกฎ ใน TeamCity คุณสามารถสมัครสมาชิกเพื่อสร้างด้วยการเปลี่ยนแปลงของคุณคุณสามารถเลือกที่จะรับการแจ้งเตือนเมื่อการสร้างเริ่มล้มเหลว (เช่นเมื่อการทดสอบครั้งแรกเริ่มล้มเหลว) คุณสามารถขอให้รับการแจ้งเตือนเกี่ยวกับการสร้างที่ล้มเหลวครั้งแรกหลังจากลำดับความสำเร็จ + สำหรับความสำเร็จครั้งแรกหลังจากความล้มเหลว และตัวเลือกเหล่านี้มีให้สำหรับทุกช่องทางการแจ้งเตือน หนึ่งในช่องดังกล่าวคือตัวแจ้ง IDE: เมื่อมีบางอย่างผิดพลาดคุณจะได้รับการแจ้งเตือนทันทีใน IDE ของคุณ อย่างที่ฉันจำได้ว่ากฎการแจ้งเตือนของฮัดสันนั้นง่ายกว่ามาก
Pavel Sher

2
Pavel - ไม่ต้องการการจับคู่สลิงที่นี่ แต่โดยค่าเริ่มต้น Hudson จะส่งอีเมลถึงคุณเฉพาะเมื่อคุณมีส่วนทำให้งานสร้างที่ล้มเหลว นอกจากนี้คุณยังสามารถสมัครเพื่อรับการแจ้งเตือนทุกบิลด์ที่ล้มเหลวได้หากต้องการ นอกจากนี้ยังมีตัวเลือกเพิ่มเติมในปลั๊กอินต่ออีเมล คุณไม่จำเป็นต้องอนุมัติ แต่อย่าบิดเบือนความจริง
Jim T

4
Google ด่วนจะแสดงให้คุณเห็นว่ามีปลั๊กอินสำหรับควบคุมกระต่าย nabaztag และอุปกรณ์น่ารักอื่น ๆ จาก Team City หรือคุณอาจจะใช้ปลั๊กอินที่ผมเชื่อมโยงกับในคำตอบของฉัน ประโยชน์ของการผสานรวม IDE ที่แน่นหนาคือความคิดเห็นที่รวดเร็วและเน้นมากขึ้นเกี่ยวกับโค้ดที่คุณกำลังดำเนินการในขณะที่คุณทำงานกับมัน คุณไม่ต้องรอการแจ้งเตือนเปลี่ยนไปใช้เบราว์เซอร์ tge อ่านรายงานเปลี่ยนกลับไปใช้ IDE และเปิดไฟล์ที่เหมาะสม บานหน้าต่างตัวแก้ไขจะเปลี่ยนไปในขณะที่คุณทำงานเพื่อแสดงว่าสมาชิกในทีมคนอื่น ๆ มีผลต่อโค้ดอย่างไร
แนท

58

+1 สำหรับฮัดสัน

ฮัดสันเป็นโครงการที่มีการใช้งานมากมีชุมชนผู้ใช้มากมาย และรายชื่อผู้รับจดหมายของผู้ใช้ที่ใช้งานอยู่นั้นง่ายมากที่จะเริ่มต้นใช้งานง่ายถูกนำไปใช้กับโครงการขนาดใหญ่ใหญ่มาก (JBoss, JAX-WS ฯลฯ ) จึงได้รับการพิสูจน์แล้วว่าประสบความสำเร็จมีข้อเสนอขั้นสูงที่ดีมาก คุณสมบัติ (เช่น build matrix, build clustering ฯลฯ ) เป็นโอเพ่นซอร์สมีปลั๊กอินมากมาย ...

และหากการสนับสนุนเป็นสิ่งสำคัญจริงๆคุณสามารถรับการสนับสนุนทางการค้าจาก Sunได้ แต่ FWIW ฉันไม่เคยประสบปัญหาการบล็อกกับฮัดสันเลย

ปรับปรุง:ในขณะที่คุณอาจทราบ Kohsuke Kawaguchi (ผู้สร้างของฮัดสัน) ได้ออกจากดวงอาทิตย์ / Oracle และเริ่มต้นของเขาบริษัท ของตัวเอง ที่จะใช้ฮัดสันในระยะถัดไป กล่าวอีกนัยหนึ่งนี่ไม่ใช่ภัยคุกคามสำหรับฮัดสัน และหากคุณกำลังมองหาการสนับสนุนคุณสามารถรับHudson CI Server เวอร์ชันที่ได้รับการรับรองโดยเป็นส่วนหนึ่งของแผนการสมัครสมาชิก (เวอร์ชันที่ได้รับการรับรองนี้รวมฮัดสันรุ่นคุณภาพสูงพร้อมชุดปลั๊กอินที่กำหนดไว้ล่วงหน้าพร้อมด้วยปลั๊กอินเชิงพาณิชย์บางส่วน)

อัปเดต:เพื่อแสดงขนาดของฐานผู้ใช้ตามลำดับต่อไปนี้เป็นการเปรียบเทียบแนวโน้มงานสำหรับเครื่องมือ CI หลายรายการในIndeed (live query):

ฮัดสันสร้างวิศวกรวิศวกรสร้าง CruiseControl วิศวกรสร้างไม้ไผ่ TeamCity สร้างวิศวกรแนวโน้มงาน

แน่นอนว่านี่ไม่ใช่ตัวบ่งชี้ทางเทคนิค


88
บางที TeamCity อาจใช้งานง่ายมากเพราะไม่ต้องการให้ใครจ้างมาเพื่อกำหนดค่าโดยเฉพาะ?
Henrik

3
@Henrik: การตีความกราฟด้านบนขึ้นอยู่กับดุลยพินิจของคุณ แต่ใช่บางที TeamCity อาจเป็นเวทมนตร์
Pascal Thivent

16
หากคุณจ้างวิศวกรสร้างเต็มเวลาเพื่อดำเนินการผสานรวมอย่างต่อเนื่องของคุณตอนนี้คุณมีปัญหาสองประการ: 1) CI ของคุณทำงานยากดังนั้นนักพัฒนาของคุณจะต่อสู้กับมันและความรู้จะอยู่ในหัวของคนคนนี้ 2) คุณจ่ายเงินให้คนทำงานที่ไม่จำเป็นต้องทำ!
Niall Connaughton

15
ถ้าฉันกำลังเลือกเซิร์ฟเวอร์ CI ฉันจะเลือกเซิร์ฟเวอร์ที่มีตำแหน่งงานว่างน้อยที่สุดสำหรับวิศวกรเฉพาะเพื่อดูแลมัน เป็นเครื่องมือสำหรับนักพัฒนาและนักพัฒนาควรจะจัดการได้เอง หากทำไม่ได้คุณอาจต้องใช้เครื่องมืออื่นหรือผู้พัฒนารายอื่น
แนท

กราฟแนวโน้มงานไม่ได้บ่งบอกถึง +1 สำหรับฮัดสันเลย ...
ชาริเกอับดุลลาห์

17

เราเริ่มต้นกับฮัดสันสำหรับโครงการ Flex สองสามโครงการจากนั้นเราย้ายไปที่ TeamCity เมื่อนักพัฒนา. NET เข้าร่วมความพยายาม CI ของเรา ตอนนี้เราได้เปลี่ยนเซิร์ฟเวอร์ TeamCity อีกครั้งกลับไปที่ Hudson เหตุผลหลักคือ - ชุมชนฮัดสันที่มีชีวิตชีวาดีกว่าการสนับสนุน - ปลั๊กอินจำนวนมากสำหรับงานทุกประเภท - โอเพ่นซอร์ส - ฮัดสันฟรี TeamCity ฟรีสำหรับ 10 โครงการ

แก้ไข: ตอนนี้ TeamCity ให้บริการฟรี 20 โครงการ


2
ข้อ จำกัด 10 โครงการลดลงขีด จำกัด เดียวในตอนนี้คือ 20 การกำหนดค่าการสร้าง สำหรับโครงการขนาดเล็กถึงขนาดกลางอาจเพียงพอ
ashwoods

4
ด้วยความอยากรู้อยากเห็นคุณลักษณะใดที่พร้อมใช้งานผ่านปลั๊กอิน Jenkins ที่ขาดหายไปในโลกของ TeamCity
Behrang Saeedzadeh

14

TeamCity นั้นยอดเยี่ยมเพราะช่วยให้นักพัฒนาแต่ละคนมีโปรไฟล์การสร้างของตัวเองและเชื่อมต่อจาก IDE ของพวกเขา คนเดียวคือ 'ก้นเตะ' นอกจากนี้ยังมีการสนับสนุน GIT เป็นต้นลองดูอย่างจริงจัง เวอร์ชันมืออาชีพฟรี


5
นอกจากนี้ GIT ยังรองรับโดย Jenkins / Hudson
CJBrew

14

อาร์กิวเมนต์ที่ใหญ่ที่สุดกับฮัดสันคือทุกการเปิดตัวแนะนำข้อบกพร่องใหม่

มีการเผยแพร่บ่อยมากดังนั้นคุณต้องอัปเกรดบ่อยๆเพื่อที่คุณจะได้ไม่พลาด นั่นหมายความว่าคุณต้องทุ่มเทเวลาอย่างมากในการวินิจฉัยปัญหาและย้อนกลับไปยังรุ่นก่อนหน้าของฮัดสัน (บางครั้งก็ไม่สามารถย้อนกลับได้!)

เรากำลังแนะนำการปรับใช้งานอย่างต่อเนื่องในร้านของเรา (เมื่อคุณเช็คอินโค้ดจะถูกนำไปใช้งานบนเว็บไซต์จริง!) และการต่อสู้กับฮัดสันทำให้เราเสียค่าใช้จ่ายมากเกินไป

เรากำลังมองหาการโยกย้ายไปยัง TeamCity อย่างหมดจดเนื่องจากค่าใช้จ่ายของจุดบกพร่องของ Hudson


8
เพียงเพราะมีการอัปเดตไม่ได้หมายความว่าคุณต้องอัปเกรด ฉันอยากให้พวกเขาออกรายการบ่อยกว่าน้อยกว่า เป็นทางเลือกของฉันเมื่อจะอัปเกรดและฉันไม่ได้ทำทุกสัปดาห์แน่นอน นอกจากนี้ผู้ดูแลยังมีความระมัดระวังเกี่ยวกับความเข้ากันได้แบบย้อนกลับ โดยทั่วไปปลั๊กอินไม่จำเป็นต้องใช้ฮัดสันล่าสุดเพื่อให้ทำงานได้ ในความเป็นจริง 130 ปลั๊กอินที่มีอยู่ในขณะนี้ถูกสร้างขึ้นเพื่อต่อต้านเวอร์ชันฮัดสันที่มีอายุมากกว่าหนึ่งปี หากคุณยังคงกังวลมีปลั๊กอินย้อนกลับอัตโนมัติในการทำงาน .. ;)
Christopher Orr

1
จากประสบการณ์ของฉันปัญหาเกิดขึ้นกับปลั๊กอินมากกว่าฮัดสันเองแม้ว่าจะไม่ได้สร้างความแตกต่างอย่างมากจากมุมมองของผู้ใช้ แต่ไม่มีสิ่งใดบังคับให้คุณต้องอัปเกรดเว้นแต่คุณจะประสบกับข้อบกพร่องบางอย่างหรือไม่สามารถอยู่ได้หากไม่มีคุณลักษณะใหม่ เราก็ไม่ได้ทำตามแต่ละรุ่นและไม่ได้ใช้รุ่นที่ดีที่สุดไม่เป็นปัญหาเลยสำหรับเรา: "ถ้ามันยังไม่หักไม่ซ่อมมัน"
Pascal Thivent

2
เมื่อผู้สื่อสารหลักส่งข้อความแจ้งว่ามีการแก้ไขข้อบกพร่องด้านความปลอดภัยที่สำคัญนั่นคือเหตุผลที่ต้องอัปเดต ประเด็นของฉันยังคงยืนอยู่: ฮัดสันเป็นเพียงวิธีที่ไร้สาระ - แม้ว่าจะไม่ได้ติดตั้งปลั๊กอินเพิ่มเติมก็ตาม
jdtangney

1
ฉันสามารถพูดได้ว่าหลังจากใช้ฮัดสัน / เจนกินส์หนึ่งปีครึ่งในโปรเจ็กต์หนึ่งในขณะที่มันเป็นเครื่องมือที่ยอดเยี่ยม - เราประสบกับคุณภาพที่ไม่สอดคล้องกันระหว่างการเผยแพร่ - และเราอัปเกรดเฉพาะเมื่อเราจำเป็นจริงๆเท่านั้น เราพบวิธีแก้ไขรวมถึงการสำรองข้อมูลการกำหนดค่าบ่อยๆ ฉันรอคอยที่จะลองใช้ TeamCity ในโครงการล่าสุดของฉัน
JaysonRaymond

4
เหตุใดการอัปเดตและความเสถียรจึงเป็นปัจจัยที่คัดค้าน นั่นไม่เพียงชี้ให้เห็นถึงการขาดคุณภาพหรือไม่?
Niall Connaughton

6

ฉันชอบ Teamcity มาก แต่ในสภาพแวดล้อมที่ฉันกำลังทำงานอยู่เวลาที่ใช้ในการรับใบสั่งซื้อสำหรับ Teamcity ผ่านชั้นการจัดการน่าจะเกินเวลาที่ต้องใช้ในการย้ายข้อมูลทุกอย่างไปยัง Hudson


10
TeamCity professional ไม่มีค่าใช้จ่าย
Pavel Sher

6
@Pavel เรามีผู้ใช้มากกว่า 20 คนและงานสร้างอื่น ๆ อีกมากมาย
พะยอม

22
@sal ทำให้ฉันประหลาดใจเสมอว่า บริษัท ต่างๆสามารถให้ความสำคัญกับเครื่องมือของทีมพัฒนามากกว่าสองหมื่นดอลลาร์ได้อย่างไรและค่อนข้างจะทำให้พวกเขาเสียเวลารวม 100 ชั่วโมงที่พวกเขาไม่ได้ใช้กับเครื่องมือนี้
Chris Marisic

5
@Chris จะเกิดอะไรขึ้นถ้าพวกเขาเริ่มต้นด้วยเครื่องมือฟรีแบบโอเพนซอร์สเพราะเพียงเพื่อดูว่ามีบางอย่างทำงานอย่างไรและ 2 ปีต่อมาก็รู้ว่ามันยังใช้งานได้โดยไม่มีปัญหาใด ๆ คุณยังคงแนะนำให้ใช้จ่ายสองสามพันดอลลาร์เพื่ออัปเกรดเป็นเครื่องมือทางการค้าที่ส่วนใหญ่อาจทำสิ่งเดียวกันหรือไม่?
stefanB

1
@stefan หากคุณใช้เครื่องมือเป็นเวลา 2 ปีและตรงตามความต้องการของคุณเว้นแต่จะมี featureX ที่คุณต้องการจากเครื่องมืออื่นทำไมคุณถึงเปลี่ยนไปใช้เครื่องมืออื่น ๆ ฟรีหรือจ่ายเงิน
Chris Marisic

2

ฉันเคยใช้และตั้งค่า TeamCity และ Jenkins (หรือที่เรียกว่า Hudson ใหม่) มาก่อนและในขณะที่ฉันยอมรับว่า TeamCity มีความลื่นไหลมากในการตั้งค่านั้นฟรีสำหรับทีมที่มีผู้ใช้ 10 คนหรือน้อยกว่าเท่านั้น ทั้งสองระบบตั้งค่าได้ง่ายมากและมีระบบปลั๊กอินที่รองรับเป็นอย่างดี คุณลักษณะนักฆ่าใน TeamCity คือเวิร์กโฟลว์ก่อนการเช็คอินที่คุณสามารถทดสอบโค้ดก่อนที่จะตรวจสอบในการควบคุมแหล่งที่มาและสิ่งที่ดีของ Jenkins ก็คือมันฟรีอย่างสมบูรณ์แม้ว่าคุณจะเติบโตเกินกว่า 10 ผู้ใช้และสร้างตัวแทนก็ตาม


นอกจากนี้ฉันชอบมุมมองกราฟของ Jenkins และนั่นคือสิ่งที่ฉันขาดหายไปใน Teamcity ฉันเห็นด้วยกับความคิดเห็นของคุณ!
Danny Gloudemans

หากคุณเห็นด้วยกับความคิดเห็นก็ให้โหวต :)
runxc1 Bret Ferrier

1

ฉันเพิ่งเริ่มคุ้นเคยกับฮัดสันพร้อมที่จะทดลองและดูว่ามันจะเข้ากับสภาพแวดล้อมปัจจุบันของเราได้อย่างไร ฉันไม่มีประสบการณ์กับ Teamcity เป็นศูนย์เลยไม่สามารถแสดงความคิดเห็นได้ แต่ตอนนี้ฉันสนุกกับการทำงานกับฮัดสัน

มีปลั๊กอินมากมายสำหรับฮัดสันและไซต์ฮัดสันให้คำแนะนำมากมายสำหรับการเขียนของคุณเอง ( http://wiki.hudson-ci.org/display/HUDSON/Extend+Hudson )


1

ฉันได้แนะนำลูกค้าให้พวกเขาพิจารณา Bamboo เหตุผลก็คือ (ตกลงจากการอ่านแผ่นข้อมูลจำเพาะ!) มันมีคุณสมบัติที่คล้ายกันมากที่ตั้งค่าเป็น TeamCity อย่างไรก็ตามประโยชน์หลักคือการรวมเข้ากับ JIRA อย่างแน่นหนาซึ่งค่อนข้างเป็นที่นิยมในฐานะระบบติดตามคุณสมบัติ / ข้อบกพร่อง ชุดที่สมบูรณ์ ได้แก่ JIRA, Greenhopper, Bamboo และ Eclipse ลูกค้าจำนวนไม่น้อยก็มีศูนย์คุณภาพ HP และมีปลั๊กอินที่เชื่อมต่อกับ JIRA ด้วยเช่นกัน ฉันชอบความจริงที่ว่า JIRA, Bamboo และ GreenHopper ล้วนมาจาก Atlassian


หลังจากใช้ TeamCity อย่างกว้างขวางเจนกินส์ก็ดูเป็นโลหะเปล่า ๆ ใช่ปลั๊กอินช่วยให้คุณทำอะไรก็ได้เมื่อคุณติดตั้งแล้ว TeamCity มีชุดคุณลักษณะสำหรับผู้ใหญ่ที่จะช่วยให้คุณออกนอกกรอบ แต่ในระดับการจัดส่งแบบต่อเนื่องทั้งสองไม่ได้ดำเนินการขั้นตอนการจัดเตรียมที่เหมาะสม QuickBuild เป็นผลิตภัณฑ์ที่มีคุณสมบัติครบถ้วนซึ่งสมควรได้รับความสนใจเป็นเพย์แวร์
bbaassssiiee

ตอนนี้ได้เห็น Bamboo ในไซต์ลูกค้าแล้วฉันก็ไม่สนใจมันอีกต่อไป มีบางประเด็นเกี่ยวกับการเขียนสคริปต์และการถ่ายโอนข้อมูลระหว่างบิลด์ที่ต้องดิ้นรนเพื่อทำ ผลลัพธ์มีแนวโน้มที่นักพัฒนาจะวางสิ่งของทุกประเภทไว้ในพื้นที่ตัวแปรทั่วโลกของ CI ซึ่งไม่ควรอยู่ที่นั่น
drekka
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.