มีค่าใช้จ่ายที่เกี่ยวข้องกับการบูรณาการอย่างต่อเนื่องเช่นการตั้งค่าการฝึกอบรมใหม่กิจกรรมการรับรู้การหยุดเพื่อแก้ไข "ข้อบกพร่อง" ที่กลายเป็นปัญหาข้อมูลการบังคับใช้รูปแบบการเขียนโปรแกรมที่เกี่ยวข้องเป็นต้น
การรวมระบบอย่างต่อเนื่องเป็นสิ่งที่จุดสำหรับตัวเอง?
แก้ไข: นี่คือการค้นพบของฉัน
การตั้งค่าคือ CruiseControl.Net กับ Nant อ่านจาก VSS หรือ TFS
นี่คือสาเหตุบางประการของความล้มเหลวซึ่งไม่มีส่วนเกี่ยวข้องกับการตั้งค่า:
ค่าใช้จ่ายในการตรวจสอบ : เวลาที่ใช้ในการตรวจสอบว่าแสงสีแดงเกิดจากความไม่สอดคล้องของตรรกะในรหัสคุณภาพของข้อมูลหรือแหล่งอื่นเช่นปัญหาโครงสร้างพื้นฐาน (เช่นปัญหาเครือข่ายการหมดเวลาอ่านจากการควบคุมแหล่งที่มา ลง ฯลฯ ฯลฯ )
ค่าใช้จ่ายทางการเมืองบนโครงสร้างพื้นฐาน : ฉันถือว่าการตรวจสอบ "โครงสร้างพื้นฐาน" สำหรับแต่ละวิธีในการทดสอบการทำงาน ฉันไม่มีวิธีแก้ไขปัญหาการหมดเวลายกเว้นเพื่อแทนที่การสร้างเซิร์ฟเวอร์ เทปสีแดงเข้ามาขวางทางและไม่มีการแทนที่เซิร์ฟเวอร์
ค่าใช้จ่ายในการแก้ไขการทดสอบหน่วย : ไฟสีแดงเนื่องจากปัญหาคุณภาพข้อมูลอาจเป็นตัวบ่งชี้การทดสอบหน่วยที่เขียนไม่ดี ดังนั้นการทดสอบหน่วยขึ้นอยู่กับข้อมูลจึงถูกเขียนขึ้นใหม่เพื่อลดโอกาสที่แสงสีแดงจะเกิดขึ้นเนื่องจากข้อมูลที่ไม่ดี ในหลายกรณีข้อมูลที่จำเป็นถูกแทรกเข้าไปในสภาพแวดล้อมการทดสอบเพื่อให้สามารถทำการทดสอบหน่วยได้อย่างถูกต้อง มันสมเหตุสมผลที่จะบอกว่าการทำให้ข้อมูลมีความแข็งแกร่งมากขึ้นแล้วการทดสอบจะมีประสิทธิภาพมากขึ้นถ้ามันขึ้นอยู่กับข้อมูลนี้ แน่นอนมันใช้งานได้ดี!
ค่าใช้จ่ายของความครอบคลุมเช่นการเขียนการทดสอบหน่วยสำหรับรหัสที่มีอยู่แล้ว : มีปัญหาของการครอบคลุมการทดสอบหน่วย มีวิธีการนับพันที่ไม่มีการทดสอบหน่วย ดังนั้นจำเป็นต้องมีจำนวนวันคนจำนวนมากเพื่อสร้างสิ่งเหล่านั้น เนื่องจากมันจะยากเกินไปที่จะสร้างกรณีธุรกิจจึงมีการตัดสินใจว่าการทดสอบหน่วยจะใช้สำหรับวิธีการสาธารณะใหม่ ๆ ผู้ที่ไม่มีการทดสอบหน่วยถูกเรียกว่า 'อาจเป็นสีแดง' จุดที่น่าสนใจที่นี่คือวิธีการแบบคงที่เป็นจุดที่สงสัยในวิธีที่จะเป็นไปได้ที่จะกำหนดว่าวิธีการแบบคงที่ที่เฉพาะเจาะจงล้มเหลวได้อย่างไร
ค่าใช้จ่ายในการเผยแพร่ bespoke : สคริปต์ของ Nant เท่านั้นจนถึงตอนนี้ ไม่มีประโยชน์สำหรับการพูดการสร้าง CMS ที่ขึ้นอยู่กับ EPiServer, CMS หรือการปรับใช้ฐานข้อมูล UI แบบใดก็ตาม
นี่คือประเภทของปัญหาที่เกิดขึ้นบนเซิร์ฟเวอร์การสร้างสำหรับการทดสอบการทำงานรายชั่วโมงและการสร้าง QA ข้ามคืน ฉันให้ความบันเทิงว่าสิ่งเหล่านี้ไม่จำเป็นในฐานะที่เป็นปรมาจารย์สร้างสามารถทำงานเหล่านี้ได้ด้วยตนเองในช่วงเวลาของการปล่อยให้กับวงดนตรีชายคนหนึ่งและงานสร้างขนาดเล็ก ดังนั้นการสร้างขั้นตอนเดียวไม่ได้ใช้ CI ในการใช้งาน สิ่งที่เกี่ยวกับ multistep นั้นซับซ้อนกว่านี้ สิ่งเหล่านี้อาจสร้างความเจ็บปวดได้โดยเฉพาะอย่างยิ่งหากไม่มีสคริปต์ของ Nant ดังนั้นแม้จะมีการสร้างสิ่งเหล่านี้ก็ไม่ประสบความสำเร็จอีกต่อไป ค่าใช้จ่ายในการแก้ไขปัญหาแสงสีแดงเกินดุลประโยชน์ ในที่สุดนักพัฒนาหมดความสนใจและตั้งคำถามถึงความถูกต้องของแสงสีแดง
หลังจากได้ลองใช้งานมาพอสมควรแล้วฉันเชื่อว่า CI นั้นมีราคาแพงและมีการทำงานหลายอย่างรอบตัวแทนที่จะต้องทำงานให้เสร็จ มันคุ้มค่ากว่าที่จะจ้างนักพัฒนาที่มีประสบการณ์ซึ่งไม่ได้ยุ่งกับโครงการขนาดใหญ่กว่าแนะนำและบำรุงรักษาระบบเตือนภัย
ในกรณีนี้แม้ว่านักพัฒนาเหล่านั้นจะออกไป ไม่สำคัญว่านักพัฒนาที่ดีจะออกเพราะกระบวนการที่เขาทำตามจะทำให้แน่ใจได้ว่าเขาเขียนรายละเอียดความต้องการรายละเอียดการออกแบบติดอยู่กับแนวทางการเข้ารหัสและแสดงความคิดเห็นรหัสของเขาเพื่อให้สามารถอ่านได้ ทั้งหมดนี้ได้รับการตรวจสอบ ถ้าสิ่งนี้ไม่เกิดขึ้นหัวหน้าทีมของเขาจะไม่ทำงานซึ่งผู้จัดการของเขาควรจะได้รับ
สำหรับ CI ในการทำงานมันไม่เพียงพอที่จะเพียงแค่เขียนการทดสอบหน่วยพยายามที่จะรักษาความครอบคลุมเต็มรูปแบบและสร้างความมั่นใจว่าโครงสร้างพื้นฐานการทำงานสำหรับระบบที่มีขนาดใหญ่
บรรทัดล่าง:หนึ่งอาจถามว่าการแก้ไขข้อบกพร่องเป็นจำนวนมากก่อนที่จะปล่อยเป็นที่ต้องการจากธุรกิจที่จำเป็น CI เกี่ยวข้องกับงานจำนวนมากเพื่อดักจับข้อบกพร่องจำนวนหนึ่งที่ลูกค้าสามารถระบุได้ใน UAT หรือ บริษัท สามารถรับเงินเพื่อแก้ไขซึ่งเป็นส่วนหนึ่งของข้อตกลงการบริการลูกค้าเมื่อระยะเวลาการรับประกันสิ้นสุดลง