Wikipedia ให้ข้อสรุปที่ดีเกี่ยวกับเงื่อนไขเหล่านี้ ที่นี่ฉันจะใช้เวลากับพวกเขา:
Build automationกำลังทำให้วิธีการสร้างซอฟต์แวร์โดยอัตโนมัติแทนที่จะเรียกใช้คอมไพเลอร์ด้วยตนเอง นี้จะทำได้ผ่านทางเครื่องมือเช่นเช่นยี่ห้อหรือมด
การปรับใช้แบบอัตโนมัติกำลังนำซอฟต์แวร์ที่สร้างขึ้นมาและนำไปใช้หรือติดตั้งในระบบทดสอบหรือระบบการผลิต
การรวมอย่างต่อเนื่องหมายถึงการมีกระบวนการอัตโนมัติสร้างซอฟต์แวร์ของคุณอย่างต่อเนื่องขณะที่นักพัฒนาตรวจสอบรหัสและเรียกใช้การทดสอบหน่วยเพื่อให้แน่ใจว่ารหัสยังคงใช้งานได้ ตัวอย่างเช่นทุก ๆ 15 ถึง 30 นาทีที่เซิร์ฟเวอร์อาจตื่นขึ้นมาสแกนVCSเพื่อเช็คอินใหม่จากนั้นอัปเดตและสร้างโครงการหากมีการเปลี่ยนแปลงใด ๆ นอกจากนี้จะดำเนินการตามขั้นตอนรวบรวมนี้ยังเป็นโอกาสที่ดีที่จะเรียกใช้การทดสอบหน่วยอัตโนมัติและการตรวจสอบคุณภาพรหัส
การส่งมอบอย่างต่อเนื่องเป็นการรวมกันของแนวคิดก่อนหน้าทั้งหมดที่สร้างซอฟต์แวร์จะถูกปรับใช้กับระบบทดสอบทางเลือกด้วยการทดสอบที่ดำเนินการและรายงานที่สร้างขึ้น
อย่างน้อยที่สุดคุณต้องมีการสร้างอัตโนมัติเช่นสร้างสคริปต์บางอย่าง ที่ช่วยให้คุณคลิกปุ่มเดียวหรือออกคำสั่งเดียวเพื่อสร้างโครงการของคุณ ประโยชน์ในการนี้คือการลดข้อผิดพลาดจากขั้นตอนการทำงานด้วยตนเอง สภาพแวดล้อมการสร้างที่ซับซ้อนอาจเกี่ยวข้องกับการสร้างรหัส (คิดว่าDAOจากการตั้งค่ารหัสอินเทอร์เฟซเช่นJAXB ) การรวบรวมรหัสการบรรจุขึ้นการกำหนดข้อมูลเมตาเป็นต้นด้วยสิ่งมากมายที่คุณต้องมีรายการตรวจสอบ: ทำไมไม่ทำรายการตรวจสอบ สร้างสคริปต์ของคุณและใช้เครื่องมือเพื่อเรียกใช้หรือไม่ จะลดข้อผิดพลาดและให้ความสอดคล้อง
ขึ้นต่อไปคือ CI: นี่คือจริงๆดีที่จะมี แต่ไม่จำเป็นต้องเคร่งครัด ช่วยระบุปัญหาการสร้างก่อน หากคุณมีนักพัฒนาซอฟต์แวร์หลายคนเช็คอินโค้ดตลอดทั้งวันและอาจไม่ซิงค์พื้นที่ทำงานของตนเองอย่างต่อเนื่องอาจมีความเสี่ยงที่การเปลี่ยนแปลงของพวกเขาจะรบกวนซึ่งกันและกัน ฉันอ้างอิงถึงข้อผิดพลาดของรหัสคงไม่ใช่การควบคุมเวอร์ชันที่ขัดแย้งกัน CI build server จะลดความเสี่ยงนี้
ในที่สุดเราก็มีขั้นตอนการปรับใช้ แนวคิดที่นี่คือการประหยัดเวลาและลดข้อผิดพลาดจากการปรับใช้ซอฟต์แวร์ด้วยตนเอง เช่นเดียวกับการสร้างระบบอัตโนมัติมีหลายร้อยวิธีในการไขการปรับใช้ซอฟต์แวร์ ฉันพักสายที่สำนักงานเป็นการส่วนตัวเพื่อแก้ไขปัญหาการปรับใช้ด้วยตนเองหลายครั้งเมื่อเราต้องการระบบการทำงานสำหรับลูกค้าที่มาถึงในวันพรุ่งนี้ การใช้หลายระบบโดยอัตโนมัติทำให้มีความเสี่ยงมากขึ้น: แทนที่จะมีหนึ่งระบบที่อาจล้มเหลวหรือมีข้อผิดพลาดแปลกขณะนี้เรามีหลายระบบระบบที่ผิดพลาดได้ อย่างไรก็ตามความเสี่ยงนั้นต่ำกว่าใครบางคนที่ขาดขั้นตอนในรายการตรวจสอบหรือออกคำสั่งที่ไม่ถูกต้องและทำให้เกิดการปรับใช้ หากคุณโชคดีคุณสามารถคืนค่าการสำรองฐานข้อมูลและเริ่มต้นใหม่หากคุณโชคไม่ดีข้อผิดพลาดอาจทำให้ระบบทำงานไม่ถูกต้อง เป็นข้อบกพร่องของซอฟต์แวร์หรือไม่ ช่างเทคนิคไม่ได้ตั้งค่าคอนฟิกอย่างถูกต้องหรือไม่? ขั้นตอนนี้ใช้เวลาในการวินิจฉัยเวลาที่คุณอาจไม่มีและเวลาที่ไม่จำเป็นต้องใช้หากคุณดำเนินการอัตโนมัติ