CI/CD ช่วยประหยัดเวลาในการพัฒนาแอปบนอุปกรณ์เคลื่อนที่ได้ถึง 20% ได้อย่างไร
เผยแพร่แล้ว: 2019-12-06การบูรณาการอย่างต่อเนื่องและการส่งมอบอย่างต่อเนื่องได้เติบโตขึ้นจนกลายเป็นแนวทางปฏิบัติในการพัฒนาซอฟต์แวร์ซึ่งไม่เพียงแต่ช่วยลดความพยายามเท่านั้น แต่ยังรวมถึง ต้นทุนการพัฒนาแอป ที่ล้าหลังอีกด้วย
ผ่านกระบวนการ CI/CD สำหรับแอปบนอุปกรณ์เคลื่อนที่ ธุรกิจจะได้รับประโยชน์มากมายจากการตั้งค่าเพียงครั้งเดียว: บิลด์อัตโนมัติ การสื่อสารที่ได้รับการปรับปรุง การจัดส่งอัตโนมัติ และการบำรุงรักษาเซิร์ฟเวอร์เป็นศูนย์
ในโลกที่ไม่มี CI/CD บริษัทพัฒนาแอพมือถือบางแห่งปล่อยแอพด้วยตนเอง โดยส่งต่อจากทีมหนึ่งไปยังอีกทีมหนึ่ง
มีความล่าช้าในทุกขั้นตอนเกือบตลอดเวลาซึ่งนำไปสู่ทีมที่หงุดหงิดและลูกค้าที่ไม่มีความสุข และในที่สุดแอปก็ใช้งานได้จริงผ่านกระบวนการที่น่าเบื่อและเต็มไปด้วยข้อผิดพลาด ซึ่งทำให้โอกาสในการสร้างรายได้ทั้งหมดล่าช้า
ตอนนี้ หากคุณ ดูภาพประกอบไปป์ไลน์การจัดส่งแบบต่อเนื่อง ด้านล่าง คุณจะได้ภาพที่แตกต่างออกไป
มันแสดงให้เห็นว่านักพัฒนาเขียนโค้ดของตนอย่างไรและส่งไปยังที่เก็บซอร์สโค้ดวันละครั้ง/หลายครั้ง ต่อจากนั้น การทดสอบ การแสดงละคร และการผลิตจะเกิดขึ้นภายในไปป์ไลน์ CI และนำไปใช้กับลูกค้าโดยตรง
CI และ CD คืออะไร?
อันดับแรก ให้เราตอบก่อน ว่าการผนวกรวมอุปกรณ์เคลื่อนที่แบบต่อเนื่องคืออะไร ก่อนจะไปต่อในรายละเอียดเกี่ยวกับ การจัดส่งแบบต่อเนื่อง และ การใช้งาน แบบ ต่อเนื่องคืออะไร
ก่อนที่เราจะพูดถึงคำจำกัดความของแนวทางนี้ ให้เราเปิดเผยบางสิ่งในที่เปิดเผย
แม้ว่าจะมี ชุด กระบวนการพัฒนาแอพมือถือ ที่แตกต่างกันมากมาย ที่ทำงานในตลาดทุกวันนี้ คำตอบของการ รวมอย่างต่อเนื่องและการส่งมอบอย่างต่อเนื่องใน devops คืออะไร และ CI และ CD ใน agile คืออะไร จะเหมือนกันทุกประการ
ด้วยความชัดเจน เรามาเริ่มด้วยคำอธิบายกัน
บูรณาการอย่างต่อเนื่อง
Custom Integration หรือ CI คือ แนวทางปฏิบัติใน การพัฒนาแอพมือถือแบบกำหนดเอง ที่มีการบูรณาการการเปลี่ยนแปลงโค้ดเป็นประจำในที่เก็บรหัสที่ใช้ร่วมกัน โดยปกติ การฝึกจะเกิดขึ้นอย่างน้อยหนึ่งครั้งและสูงสุดหลายครั้งในหนึ่งวัน สิ่งนี้กระตุ้นให้เกิดการเปลี่ยนแปลงเล็กน้อยซึ่งมักจะเปรียบเทียบกับการเปลี่ยนแปลงครั้งใหญ่ซึ่งไม่บ่อยนัก
ทุกคอมมิตจะทริกเกอร์บิลด์ซึ่งการทดสอบทำงานอยู่ ซึ่งช่วยในการระบุว่ามีบางอย่างผิดปกติหรือไม่
จัดส่งอย่างต่อเนื่อง
มันคือทั้งหมดที่เกี่ยวกับความสามารถในการส่งรหัสรวมไปยังการผลิตเป็นประจำ ผลลัพธ์สุดท้ายของขั้นตอนนี้คือคุณมีบิลด์สีเขียวที่พร้อมจะเผยแพร่ในคลิกเดียว
การปรับใช้อย่างต่อเนื่อง
กระบวนการนี้ก้าวไปข้างหน้าหนึ่งก้าวเพื่อให้สามารถปรับใช้อัตโนมัติของการเปลี่ยนแปลงสาขาหลักทั้งหมดซึ่งผ่านไปป์ไลน์ CI อย่างไรก็ตาม ทางที่ดีควรหลีกเลี่ยงการทำเช่นนี้ เพราะคุณจะต้องทำการทดสอบซึ่งไม่จำกัดเฉพาะการทำงานอัตโนมัติ
ขั้นตอนของ CI/CD สำหรับการพัฒนาแอพมือถือ
กระบวนการรวม CI/CD สำหรับแอพมือถือสามารถแบ่งออกเป็นเจ็ดส่วนหรือขั้นตอน
รหัส: รหัสเป็นแกนหลักของแอปพลิเคชันใด ๆ กระบวนการเขียนซึ่งเริ่มต้นด้วยขั้นตอนการพัฒนาไปสู่ขั้นตอนการบำรุงรักษา ในแนวทางการรวมและการส่งมอบอย่างต่อเนื่อง นักพัฒนาจะเขียนโค้ดสำหรับส่วนประกอบ CI ซึ่งจะเป็นการเตรียมความพร้อมสำหรับการทำงานอัตโนมัติในขั้นต่อไป
บิลด์ : นี่คือส่วนที่สร้างแอป นักพัฒนาหลายคนทำงานในกระบวนการที่เกิดขึ้นทุกวัน ความแตกต่างในกรณีของ CI/CD สำหรับแอปมือถือคือเมื่อนักพัฒนาทำงานเสร็จแล้ว พวกเขาจะเพิ่มลงในแอปพลิเคชัน CI
เอาต์พุตของพื้นที่งานคือ URL
การทดสอบ: เมื่อป้อนองค์ประกอบโค้ดในแพลตฟอร์ม CI แล้ว ขั้นตอนต่อไปคือการดูว่าแอปทำงานอย่างไรเมื่อรวมการอัปเดตใหม่ ซอฟต์แวร์ CI ที่นี่ให้นักพัฒนารายงานเกี่ยวกับประสิทธิภาพของแอป นอกเหนือจากการวิเคราะห์ที่มีประโยชน์บางอย่าง
แม้ว่าจะเป็นการทำงานอัตโนมัติ แต่ก็ช่วยให้มีคนจาก ทีมประกันคุณภาพแอปบนอุปกรณ์เคลื่อนที่ เข้ามามีส่วนร่วม ในขั้นตอนการทำงาน เพื่อให้แน่ใจว่าการเปลี่ยนแปลงนั้นยอมรับได้
แพ็คเกจ: เมื่อทำการทดสอบประสิทธิภาพและคุณภาพแล้ว ก็ถึงเวลาปรับใช้แอปพลิเคชัน สเตจนี้ใช้ได้กับทั้งแอพใหม่และแอพที่มีอยู่ซึ่งกำลังจะออกเวอร์ชันใหม่
การ เปิดตัว: ขั้นตอนต่อไปของการรวมตัวกันของ CI/CD สำหรับแอปบนอุปกรณ์เคลื่อนที่ คือการใช้ URL ใหม่สำหรับแอปบนอุปกรณ์เพื่อเผยแพร่
การ กำหนดค่า: ขั้นตอนต่อไปคือการกำหนดค่าโครงสร้างพื้นฐาน คุณจะต้องจัดรูปแบบเครื่องมือการเข้ารหัสและการจัดการทั้งหมด ซึ่งจะทำให้ผู้คนสามารถเข้าถึงแพลตฟอร์ม CI ได้เป็นประจำ
การ ตรวจสอบ: เมื่อแอปทำงาน คุณยังคงต้องตรวจสอบประสิทธิภาพของแอปต่อไป ในขั้นตอนนี้ นักพัฒนาต้องแน่ใจว่าโค้ดเพิ่มเติมใดๆ ที่เขียนขึ้นสำหรับการปรับปรุงแอปได้ผ่านขั้นตอน CI ก่อนแล้ว การทำเช่นนี้ช่วยลดโอกาสของข้อบกพร่องหรือปัญหาที่เกิดขึ้นระหว่างทาง
เริ่มต้นใช้งานการบูรณาการและการส่งมอบอย่างต่อเนื่อง
การเริ่มต้นใช้งานด้วย Continuous Integration ไม่ใช่เรื่องยาก ต่อไปนี้คือขั้นตอนที่ บริษัทพัฒนาแอปบนอุปกรณ์เคลื่อนที่ โดยทั่วไปปฏิบัติตามเพื่อเริ่มใช้ CI/CD สำหรับแอปบนอุปกรณ์เคลื่อนที่ อย่างราบรื่น
วิธีการใช้การส่งมอบอย่างต่อเนื่องสำหรับแอพมือถือ
- การใช้งานการควบคุมเวอร์ชันที่เลือก - SVN, Git หรือ Bitbucket
- การเขียนการทดสอบองค์ประกอบที่สำคัญในฐานรหัส
- บริการ CI/CD ที่เหมาะสมซึ่งจะเปิดใช้งานการทดสอบทุกครั้งที่กดไปยังที่เก็บ
มาดูกันดีกว่าว่าการนำการผนวกรวมอย่างต่อเนื่องมาใช้สามารถนำเสนอกระบวนการพัฒนาซอฟต์แวร์ในชีวิตประจำวันได้อย่างไร การตระหนักถึงข้อดีเหล่านี้และคำตอบ ว่าการผสานรวมและการส่งมอบอย่างต่อเนื่องช่วย แปลเป็นการลดความเสี่ยงที่เกี่ยวข้องกับการสร้างและปูถนนอย่างไรเพื่อนำเสนอคุณลักษณะต่างๆ ให้กับลูกค้า
ประโยชน์ทางธุรกิจของการบูรณาการอย่างต่อเนื่องและการส่งมอบอย่างต่อเนื่อง
1. วงตอบรับที่เร็วขึ้น
ในกระบวนการพัฒนาแอปพลิเคชัน การไม่รู้อาจส่งผลเสียได้จริงๆ สิ่งสำคัญประการหนึ่งที่ทำให้กระบวนการพัฒนาซอฟต์แวร์ช้าลงคือการขาดความคิดเห็นเกี่ยวกับผลกระทบของการเปลี่ยนแปลงและคุณภาพของงาน เป็นเรื่องง่ายที่จะไม่แยแสว่าคุณกำลังเคลื่อนที่เร็วเกินไปหากคุณคอมมิตโค้ดบ่อยๆ และย้ายไปทำงานอื่นโดยไม่ต้องทำการทดสอบใดๆ แม้ว่าความเป็นจริงจะเป็นการยากที่จะเข้าใจสิ่งที่เปลี่ยนแปลงไปในโค้ดและโดยใครเมื่อเกิดปัญหาขึ้น
CI/CD สำหรับแอปบนอุปกรณ์เคลื่อนที่ ช่วยแก้ปัญหาเหล่านี้โดยให้คำตอบแก่คุณในทันทีหากมีสิ่งผิดปกติเกิดขึ้น
2. เพิ่มการมองเห็นและความโปร่งใส
เมื่อตั้งค่าไปป์ไลน์ CI/CD แล้ว ทั้งทีมจะรู้ว่าเกิดอะไรขึ้นกับบิลด์ นอกเหนือจากการได้รับผลการทดสอบล่าสุด ซึ่งหมายความว่าพวกเขาจะสามารถวางแผนงานในบริบทและจะได้แนวคิดที่ชัดเจนว่าการเปลี่ยนแปลงใดมีแนวโน้มที่จะทำลายงานสร้างบ่อยกว่า
3. หลีกเลี่ยงความยุ่งเหยิงในการบูรณาการ
หากคุณมองว่าซอฟต์แวร์เป็นเลโก้ ซึ่งแต่ละชิ้นถูกสร้างขึ้นโดยนักพัฒนาทีละคน ภาพการพัฒนาซอฟต์แวร์ทั้งหมดจะกลายเป็นภาพหนึ่งที่เลโก้ต่างๆ มาบรรจบกันเพื่อกลายเป็นชิ้นยักษ์ชิ้นเดียว สิ่งที่ทำให้กระบวนการนี้ง่ายขึ้นคือการขาดแรงเสียดทาน
แม้ว่าชิ้นส่วนเลโก้จะดี แต่คุณก็ยังต้องแน่ใจว่ามันเข้ากันได้ดีกับทั้งระบบ - การผสานรวมอย่างต่อเนื่องทำอย่างนั้นโดยการเชื่อมต่อชิ้นส่วนของซอฟต์แวร์เข้าด้วยกันทุกวัน
4. การระบุและแก้ไขปัญหาในช่วงต้น
ระยะที่ชัดเจนของการพัฒนาซอฟต์แวร์คือข้อบกพร่อง ตอนนี้ ยิ่งมีบั๊กมากเท่าไหร่ ก็ยิ่งระบุและแก้ไขได้ยากขึ้นเท่านั้น ด้วยการทดสอบอัตโนมัติประเภทต่างๆ ที่ทำงานอยู่ในไปป์ไลน์การผสานแบบต่อเนื่อง คุณจะรู้ว่าสิ่งใดต้องแก้ไขทันทีที่การทดสอบล้มเหลว
อ่าน : กลยุทธ์การทดสอบแอพมือถือที่ Appinventiv ปฏิบัติตาม
5. ปรับปรุงความสามารถในการทดสอบและคุณภาพ
ยิ่งการทดสอบบางอย่างง่ายขึ้นเท่าใด การทดสอบคุณภาพก็จะยิ่งสะดวกมากขึ้นเท่านั้น กฎง่ายๆ คือ ยิ่งโค้ดของคุณเขียนในลักษณะที่ไม่รองรับการทดสอบการเขียนมากเท่าไร ก็ยิ่งทำให้ไม่มีข้อผิดพลาดได้ยากขึ้นเท่านั้น ความพยายามในการทดสอบในท้ายที่สุดนั้นขึ้นอยู่กับความง่ายของบิลด์ใหม่ที่มีให้ใช้งานได้และประเภทของเครื่องมือที่คุณทำงานด้วย บวกกับการควบคุมที่คุณมีในสภาพแวดล้อมการทดสอบ
เครื่องมือ CI/CD การผสานการทำงานแบบต่อเนื่องบนมือถือยอดนิยม
เจนกินส์
ก่อตั้งขึ้นในปี 2549 เป็นเซิร์ฟเวอร์การรวมแบบโอเพ่นซอร์สอย่างต่อเนื่องระดับบนสุด นักพัฒนาซอฟต์แวร์ได้พัฒนาปลั๊กอินมากกว่า 300 รายการเพื่อปรับ Jenkins ให้เป็นบิลด์ ทดสอบ และระบบอัตโนมัติตามปริมาณงาน
CircleCI
เครื่องมือนี้ช่วยให้นักพัฒนาสามารถเผยแพร่รหัสโดยทำให้กระบวนการสร้าง ทดสอบ และปรับใช้เป็นไปโดยอัตโนมัติ ช่วยให้พวกเขาระบุและแก้ไขจุดบกพร่องได้มากก่อนที่จะถึงลูกค้า
Travis CI
เป็นอีกหนึ่งเครื่องมือการผสานการทำงานอย่างต่อเนื่องของมือถือชั้นนำในตลาดปัจจุบัน เป็นบริการแบบกระจายและโฮสต์ที่ใช้ในการพัฒนาและทดสอบโครงการที่โฮสต์บน GitHub นอกจากนี้ยังมีการปรับใช้เวอร์ชันที่เป็นกรรมสิทธิ์เฉพาะบนฮาร์ดแวร์ของไคลเอ็นต์
Bitrise
เป็นแพลตฟอร์มการรวมและการส่งมอบอย่างต่อเนื่องในฐานะบริการที่เน้นการพัฒนาแอพมือถือ นักพัฒนาใช้เครื่องมือนี้ทำให้การทดสอบอัตโนมัติและขั้นตอนปรับใช้แอปของตนเป็นไปโดยอัตโนมัติด้วยการคลิกเพียงไม่กี่ครั้ง
ศูนย์แอป Visual Studio
เครื่องมือที่ได้รับการสนับสนุนจาก Microsoft นำบริการต่างๆ มาใช้ ซึ่งมักจะนำมาใช้โดยนักพัฒนาในผลิตภัณฑ์เฉพาะตัวที่ผสานรวมเข้าด้วยกัน ช่วยให้ นักพัฒนาแอ พมือถือสร้าง ทดสอบ และส่งมอบ ตรวจสอบแอพของพวกเขา ในขณะที่ทำให้พวกเขาสร้างแพ็คเกจแอพที่ติดตั้งได้ทุกครั้งที่กดไปยังที่เก็บ
แม้ว่าสิ่งเหล่านี้จะเป็นเพียงห้า แต่ก็มีผู้ให้บริการการผสานรวมและการจัดส่งอย่างต่อเนื่องที่แตกต่างกันมากมายในตลาด ต่อไปนี้คือสิ่งที่ควรพิจารณาเมื่อค้นคว้าตัวเลือก:
วิธีเลือกเครื่องมือ CI/CD ที่ดีที่สุดสำหรับความต้องการในการพัฒนาแอปของคุณ
1. กรรมสิทธิ์กับโอเพ่นซอร์ส
ตามบริบท อาจมีกรณีที่เครื่องมือโอเพนซอร์สอาจใช้งานไม่ได้สำหรับไคลเอ็นต์บางตัว แต่ในขณะเดียวกัน การลงทุนในเครื่องมือที่เป็นกรรมสิทธิ์ก็อาจมีค่าใช้จ่ายสูงเล็กน้อย
หากใช้เครื่องมือโอเพนซอร์สเหมาะสมกับบริบทและงบประมาณ ก็มีตัวเลือกมากมายในตลาด
2. ในคลาวด์หรือโฮสต์เอง
หากคุณยินดีโฮสต์บริการ CI/CD ด้วยตนเอง และมีเวลาและทรัพยากรในการตั้งค่า กำหนดค่า และบำรุงรักษา คุณควรใช้บริการที่โฮสต์ด้วยตนเอง แต่ถ้าคุณกำลังมองหาการข้ามการบำรุงรักษาโครงสร้างพื้นฐานของ build นอกรายการงาน ให้เลือกโซลูชัน Software as a Service
3. ง่ายต่อการตั้งค่า
การนำ CI/CD มาใช้อย่างราบรื่นเป็นความลับในการนำทุกคนเข้าร่วม ดังนั้น การใช้เครื่องมือที่ใช้เวลานานในการตั้งค่าอาจส่งผลย้อนกลับต่อความตั้งใจของคุณในการเลือกแนวทางดังกล่าว