การรวมอย่างต่อเนื่อง (CI) เป็นแนวทางการพัฒนาซอฟต์แวร์ซึ่งนักพัฒนาซอฟต์แวร์ผสานการเปลี่ยนแปลงโค้ดลงในที่เก็บข้อมูลส่วนกลางบ่อยครั้ง จากนั้นระบบจะทำการบิลด์และทดสอบอัตโนมัติ
คุณสามารถตั้งค่าระบบ CI พื้นฐานเพื่อป้องกันการเปลี่ยนแปลงใหม่ที่จะทําให้บิลด์ใช้งานไม่ได้หลังจากผสานรวม คุณสามารถตั้งโปรแกรมระบบ CI ที่ล้ำสมัยมากขึ้นให้ทดสอบแอปโดยอัตโนมัติและตรวจสอบว่าแอปทำงานตามที่คาดไว้ในสภาพแวดล้อมต่างๆ เช่น ระดับ API, ขนาดหน้าจอ และแพลตฟอร์ม
เอกสารนี้แสดงกลยุทธ์ทั่วไปที่นักพัฒนาแอปใช้เพื่อสร้างระบบ CI ที่มีประสิทธิภาพสำหรับโปรเจ็กต์ Android หลักเกณฑ์เหล่านี้เป็นแนวทางทั่วไปที่ใช้กับโซลูชันส่วนใหญ่
ตัวอย่างทั่วไป
ระบบ CI ทั่วไปจะเป็นไปตามเวิร์กโฟลว์หรือไปป์ไลน์ ซึ่งอาจมีลักษณะดังนี้
- ระบบ CI จะตรวจหาการเปลี่ยนแปลงในโค้ด โดยปกติแล้วเมื่อนักพัฒนาซอฟต์แวร์สร้างคำขอดึงข้อมูล หรือที่เรียกว่า "รายการการเปลี่ยนแปลง" หรือ "คำขอผสาน"
- โดยจะจัดสรรและเริ่มต้นเซิร์ฟเวอร์เพื่อเรียกใช้เวิร์กโฟลว์
- โดยจะดึงข้อมูลโค้ด รวมถึงเครื่องมือต่างๆ เช่น Android SDK หรือภาพเอมมูเลเตอร์ หากจำเป็น
- โดยจะสร้างโปรเจ็กต์โดยเรียกใช้คำสั่งที่ระบุ เช่น .
/gradlew build
- โดยจะทําการทดสอบในเครื่องโดยการเรียกใช้คําสั่งที่ระบุ เช่น เรียกใช้
/gradlew test
- โดยจะเริ่มต้นโปรแกรมจำลองและเรียกใช้การทดสอบที่มีเครื่องมือวัด
- โดยจะอัปโหลดอาร์ติแฟกต์ เช่น ผลการทดสอบและ APK
ประโยชน์ของ CI
ข้อดีของ CI มีดังนี้
- ปรับปรุงคุณภาพของซอฟต์แวร์: CI ช่วยปรับปรุงคุณภาพของซอฟต์แวร์ได้โดยระบุและแก้ไขปัญหาตั้งแต่เนิ่นๆ ซึ่งจะช่วยลดความผิดพลาดในรุ่นซอฟต์แวร์และปรับปรุงประสบการณ์โดยรวมของผู้ใช้
- ลดความเสี่ยงที่จะมีบิลด์ที่ไม่ทำงาน: เมื่อทําให้การบิลด์เป็นแบบอัตโนมัติด้วย CI คุณจะหลีกเลี่ยงบิลด์ที่ไม่ทํางานได้ดีขึ้นด้วยการแก้ปัญหาตั้งแต่เนิ่นๆ ในกระบวนการ
- เพิ่มความมั่นใจในรุ่นต่างๆ: CI ช่วยตรวจสอบว่าแต่ละรุ่นมีความเสถียรและพร้อมใช้งานจริง โดยการเรียกใช้การทดสอบอัตโนมัติ CI จะระบุปัญหาที่อาจเกิดขึ้นได้ก่อนที่จะเผยแพร่ต่อสาธารณะ
- การสื่อสารและการทํางานร่วมกันที่ดีขึ้น: CI ช่วยให้นักพัฒนาแอปและสมาชิกคนอื่นๆ ในทีมทํางานร่วมกันและติดตามความคืบหน้าได้ง่ายขึ้นด้วยการจัดเตรียมพื้นที่ส่วนกลางให้นักพัฒนาแอปแชร์โค้ดและผลการทดสอบ
- เพิ่มประสิทธิภาพการทำงาน: CI ช่วยเพิ่มประสิทธิภาพการทำงานของนักพัฒนาซอฟต์แวร์ได้โดยทำให้งานที่ใช้เวลานานและเกิดข้อผิดพลาดได้ง่ายเป็นระบบอัตโนมัติ
อ่านเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้การผสานรวมอย่างต่อเนื่องเพื่อปรับปรุงการพัฒนาแอปได้ที่หน้าต่อไปนี้