ข้อมูลเบื้องต้นเกี่ยวกับการรวมอย่างต่อเนื่อง

การรวมอย่างต่อเนื่อง (CI) เป็นแนวทางการพัฒนาซอฟต์แวร์ซึ่งนักพัฒนาซอฟต์แวร์ผสานการเปลี่ยนแปลงโค้ดลงในที่เก็บข้อมูลส่วนกลางบ่อยครั้ง จากนั้นระบบจะทำการบิลด์และทดสอบอัตโนมัติ

คุณสามารถตั้งค่าระบบ CI พื้นฐานเพื่อป้องกันการเปลี่ยนแปลงใหม่ที่จะทําให้บิลด์ใช้งานไม่ได้หลังจากผสานรวม คุณสามารถตั้งโปรแกรมระบบ CI ที่ล้ำสมัยมากขึ้นให้ทดสอบแอปโดยอัตโนมัติและตรวจสอบว่าแอปทำงานตามที่คาดไว้ในสภาพแวดล้อมต่างๆ เช่น ระดับ API, ขนาดหน้าจอ และแพลตฟอร์ม

แผนภาพแสดงวิธีที่นักพัฒนาซอฟต์แวร์หลายคนขอการเปลี่ยนแปลงโค้ด และวิธีที่ระบบ CI ตรวจสอบการเปลี่ยนแปลงเหล่านั้นก่อนที่จะผสานรวมเข้ากับที่เก็บโค้ดหลัก
รูปที่ 1 ระบบ CI จะดูแลให้ที่เก็บโค้ดทำงานได้อย่างราบรื่นโดยทำการตรวจสอบก่อนผสาน

เอกสารนี้แสดงกลยุทธ์ทั่วไปที่นักพัฒนาแอปใช้เพื่อสร้างระบบ CI ที่มีประสิทธิภาพสำหรับโปรเจ็กต์ Android หลักเกณฑ์เหล่านี้เป็นแนวทางทั่วไปที่ใช้กับโซลูชันส่วนใหญ่

ตัวอย่างทั่วไป

ระบบ CI ทั่วไปจะเป็นไปตามเวิร์กโฟลว์หรือไปป์ไลน์ ซึ่งอาจมีลักษณะดังนี้

  1. ระบบ CI จะตรวจหาการเปลี่ยนแปลงในโค้ด โดยปกติแล้วเมื่อนักพัฒนาซอฟต์แวร์สร้างคำขอดึงข้อมูล หรือที่เรียกว่า "รายการการเปลี่ยนแปลง" หรือ "คำขอผสาน"
  2. โดยจะจัดสรรและเริ่มต้นเซิร์ฟเวอร์เพื่อเรียกใช้เวิร์กโฟลว์
  3. โดยจะดึงข้อมูลโค้ด รวมถึงเครื่องมือต่างๆ เช่น Android SDK หรือภาพเอมมูเลเตอร์ หากจำเป็น
  4. โดยจะสร้างโปรเจ็กต์โดยเรียกใช้คำสั่งที่ระบุ เช่น ./gradlew build
  5. โดยจะทําการทดสอบในเครื่องโดยการเรียกใช้คําสั่งที่ระบุ เช่น เรียกใช้ /gradlew test
  6. โดยจะเริ่มต้นโปรแกรมจำลองและเรียกใช้การทดสอบที่มีเครื่องมือวัด
  7. โดยจะอัปโหลดอาร์ติแฟกต์ เช่น ผลการทดสอบและ APK
แผนภาพที่แสดงเวิร์กโฟลว์ CI พื้นฐาน
รูปที่ 2 เวิร์กโฟลว์ CI พื้นฐาน

ประโยชน์ของ CI

ข้อดีของ CI มีดังนี้

  • ปรับปรุงคุณภาพของซอฟต์แวร์: CI ช่วยปรับปรุงคุณภาพของซอฟต์แวร์ได้โดยระบุและแก้ไขปัญหาตั้งแต่เนิ่นๆ ซึ่งจะช่วยลดความผิดพลาดในรุ่นซอฟต์แวร์และปรับปรุงประสบการณ์โดยรวมของผู้ใช้
  • ลดความเสี่ยงที่จะมีบิลด์ที่ไม่ทำงาน: เมื่อทําให้การบิลด์เป็นแบบอัตโนมัติด้วย CI คุณจะหลีกเลี่ยงบิลด์ที่ไม่ทํางานได้ดีขึ้นด้วยการแก้ปัญหาตั้งแต่เนิ่นๆ ในกระบวนการ
  • เพิ่มความมั่นใจในรุ่นต่างๆ: CI ช่วยตรวจสอบว่าแต่ละรุ่นมีความเสถียรและพร้อมใช้งานจริง โดยการเรียกใช้การทดสอบอัตโนมัติ CI จะระบุปัญหาที่อาจเกิดขึ้นได้ก่อนที่จะเผยแพร่ต่อสาธารณะ
  • การสื่อสารและการทํางานร่วมกันที่ดีขึ้น: CI ช่วยให้นักพัฒนาแอปและสมาชิกคนอื่นๆ ในทีมทํางานร่วมกันและติดตามความคืบหน้าได้ง่ายขึ้นด้วยการจัดเตรียมพื้นที่ส่วนกลางให้นักพัฒนาแอปแชร์โค้ดและผลการทดสอบ
  • เพิ่มประสิทธิภาพการทำงาน: CI ช่วยเพิ่มประสิทธิภาพการทำงานของนักพัฒนาซอฟต์แวร์ได้โดยทำให้งานที่ใช้เวลานานและเกิดข้อผิดพลาดได้ง่ายเป็นระบบอัตโนมัติ

อ่านเพิ่มเติม

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้การผสานรวมอย่างต่อเนื่องเพื่อปรับปรุงการพัฒนาแอปได้ที่หน้าต่อไปนี้