CI vs CD
ย่อมาจาก Continuous Integration
| CI | CD | |
|---|---|---|
| Definition | Continuous Integration (CI) คือแนวทางการพัฒนาซอฟต์แวร์ที่นักพัฒนาจะรวมการเปลี่ยนแปลงโค้ดของพวกเขาเข้าด้วยกันในที่เก็บข้อมูลกลางเป็นประจำ ตามด้วยการสร้างและทดสอบอัตโนมัติ เป็นการปฏิบัติหลักของแนวคิด DevOps | Continuous Deployment หรือ Continuous Delivery คือแนวทางการพัฒนาซอฟต์แวร์ที่การเปลี่ยนแปลงโค้ดจะถูกเผยแพร่ไปยังสภาพแวดล้อมการผลิตโดยอัตโนมัติผ่านชุดการทดสอบที่ทำงานอัตโนมัติ |
| Categories | ALM, CI, DevOps, การทำงานอัตโนมัติ, การพัฒนา, คุณภาพ | ALM, CI, DevOps, การติดตั้ง, การทำงานอัตโนมัติ, การเผยแพร่ |
CI หมายถึงอะไร?
ย่อมาจาก Continuous Integration
คำจำกัดความ
Continuous Integration (CI) คือแนวทางการพัฒนาซอฟต์แวร์ที่นักพัฒนาจะรวมการเปลี่ยนแปลงโค้ดของพวกเขาเข้าด้วยกันในที่เก็บข้อมูลกลางเป็นประจำ ตามด้วยการสร้างและทดสอบอัตโนมัติ เป็นการปฏิบัติหลักของแนวคิด DevOps
การทำงานอัตโนมัติ
CI ประกอบด้วยทั้งองค์ประกอบทางวัฒนธรรมที่ส่งเสริมการรวมโค้ดบ่อยๆ และส่วนประกอบทางการทำงานอัตโนมัติ การเปลี่ยนแปลงโค้ดจะกระตุ้นให้เกิดกระบวนการสร้างอัตโนมัติเพื่อสร้างซอฟต์แวร์ที่สามารถใช้งานได้
เป้าหมาย
เป้าหมายหลักของ CI คือการหาข้อผิดพลาดและแก้ไขโดยเร็ว เพิ่มคุณภาพของซอฟต์แวร์ และลดเวลาในการตรวจสอบและเผยแพร่การอัปเดตซอฟต์แวร์ใหม่ๆ
ความมั่นใจ
การรวมโค้ดบ่อยๆ สร้างความมั่นใจว่าโค้ดพื้นฐานนั้นทำงานได้ตลอดเวลา
การครอบคลุมการทดสอบ
CI ควรรวมชุดการทดสอบอัตโนมัติที่ครอบคลุมหลายๆ ด้านของซอฟต์แวร์และตรวจสอบระดับคุณภาพของมัน
CD คืออะไร?
ย่อมาจาก Continuous Deployment
คำจำกัดความ
Continuous Deployment หรือ Continuous Delivery คือแนวทางการพัฒนาซอฟต์แวร์ที่การเปลี่ยนแปลงโค้ดจะถูกเผยแพร่ไปยังสภาพแวดล้อมการผลิตโดยอัตโนมัติผ่านชุดการทดสอบที่ทำงานอัตโนมัติ
กระบวนการ
การเปลี่ยนแปลงโค้ดใหม่จะผ่านกระบวนการทดสอบและการตรวจสอบ และหากได้รับการอนุมัติ จะถูกนำไปเผยแพร่สู่สภาพแวดล้อมการผลิต
ประโยชน์
การเผยแพร่ที่ต่อเนื่องช่วยเร่งการส่งมอบซอฟต์แวร์ ลดเวลาในการออกตลาดของคุณลักษณะใหม่ และทำให้รอบการตอบรับรวดเร็วขึ้น
การแก้ไข
การเผยแพร่บ่อยๆ ช่วยให้สามารถค้นหาและแก้ไขข้อบกพร่องได้ง่ายขึ้น เพราะข้อบกพร่องจะเป็นเรื่องใหม่และตรวจสอบได้ง่ายกว่า