ฉันอ่านเกี่ยวกับเซิร์ฟเวอร์ CI เช่น Jenkins และฉันสงสัยว่า: มันมีประโยชน์ตรงไหน?
เพราะแน่นอนสำหรับโครงการขนาดเล็กที่คุณมีเพียง 5 ชั้นเรียนและการทดสอบ 10 หน่วยไม่มีความต้องการที่แท้จริง
ที่นี่เรามีการทดสอบประมาณ 1,500 เครื่องและพวกเขาผ่าน (บนเวิร์กสเตชัน Core 2 Duo เก่า) ในเวลาประมาณ 90 วินาที (เพราะพวกเขากำลังทดสอบ "หน่วย" จริง ๆ และรวดเร็วมาก) กฎที่เรามีคือเราไม่สามารถส่งรหัสเมื่อการทดสอบล้มเหลว
ดังนั้นนักพัฒนาซอฟต์แวร์แต่ละคนจึงเปิดการทดสอบทั้งหมดของเขาเพื่อป้องกันการถดถอย
เห็นได้ชัดว่าเนื่องจากนักพัฒนาทุกคนเปิดตัวการทดสอบทั้งหมดที่เราพบข้อผิดพลาดเนื่องจากการเปลี่ยนแปลงที่ขัดแย้งกันทันทีที่นักพัฒนารายหนึ่งดึงการเปลี่ยนแปลงของผู้อื่น (เมื่อมี)
ยังไม่ชัดเจนสำหรับฉัน: ฉันควรตั้งเซิร์ฟเวอร์ CI เช่น Jenkins หรือไม่ มันจะนำอะไรมา?
มันมีประโยชน์สำหรับการเพิ่มความเร็วหรือไม่ (ไม่ใช่ปัญหาในกรณีของเรา)
มีประโยชน์หรือไม่เพราะงานสร้างเก่าสามารถสร้างใหม่ได้? (แต่เราสามารถทำเช่นนี้กับ Mercurial โดยตรวจสอบ revs เก่า)
โดยทั่วไปฉันเข้าใจว่ามันมีประโยชน์ แต่ฉันก็ไม่เห็นว่าทำไม
คำอธิบายใด ๆ ที่คำนึงถึงคะแนนที่ฉันได้กล่าวไว้ข้างต้นจะได้รับการต้อนรับมากที่สุด