แนวทางปฏิบัติแนะนำสำหรับการเผยแพร่แอป Apple ไปยังผู้ทดสอบ QA โดยใช้ CI/CD และ Fastlane

เอกสารนี้จะแนะนำแนวทางปฏิบัติแนะนำในการใช้ Firebase App Distribution และ ฟาสเลน เพื่อให้เวิร์กโฟลว์การทดสอบก่อนเผยแพร่ของแพลตฟอร์ม Apple ยั่งยืนและทําซ้ำได้ในสภาพแวดล้อม CI/CD แม้ว่าเอกสารนี้จะมุ่งเน้นที่ Fastlane แต่เราก็อธิบายโซลูชันที่ใช้ได้ผ่านคอนโซล Firebase, Firebase CLI และ Firebase App Distribution API สาธารณะเพื่อให้คุณมีความยืดหยุ่นมากขึ้นด้วย นอกจากนี้ เรายังอธิบายขีดจํากัดของรุ่นและผู้ทดสอบเพื่อให้คุณวางแผนล่วงหน้าเพื่อประสบการณ์การใช้งานที่ดีที่สุด

หากคุณใช้ Android ด้วย โปรดดูแนวทางปฏิบัติแนะนำสำหรับการเผยแพร่แอป Android ไปยังผู้ทดสอบ QA โดยใช้ CI/CD

ก่อนเริ่มต้น

ก่อนนำแนวทางปฏิบัติแนะนำในเอกสารนี้ไปใช้ โปรดเปิดใช้ App Distributionในคอนโซล Firebase สำหรับแต่ละแอป หากไม่ได้เปิดใช้ App Distribution คุณจะได้รับข้อผิดพลาด 404

หากต้องการเปิดใช้ App Distribution ให้ทำตามขั้นตอนต่อไปนี้

  1. เปิดหน้า App Distribution ในคอนโซล Firebase

  2. เลือกแอป iOS

  3. คลิกเริ่มต้นใช้งาน

ทำงานเวิร์กโฟลว์การทดสอบเวอร์ชันทดลองให้เป็นแบบอัตโนมัติโดยใช้ CI/CD

หากต้องการทำให้การสร้างและเผยแพร่แอปไปยังผู้ทดสอบเป็นแบบอัตโนมัติและคุณใช้ CI/CD เราขอแนะนำให้ใช้ fastlane อีกทางเลือกหนึ่งคือการใช้ Firebase CLI ซึ่งจะช่วยให้คุณเข้าถึงผลิตภัณฑ์ Firebase ได้อย่างหลากหลาย

ใช้ fastlane

ผสานรวม App Distribution เข้ากับไปป์ไลน์ CI/CD โดยใช้ Fastlane ซึ่งเป็นเครื่องมือโอเพนซอร์สที่ทำงานแบบอัตโนมัติในการสร้างและเผยแพร่แอป iOS และ Android การสร้างและเผยแพร่รุ่นล่าสุดให้ผู้ทดสอบโดยอัตโนมัติจะช่วยให้มั่นใจได้ว่าผู้ทดสอบจะมีแอปเวอร์ชันทดสอบล่าสุดอยู่เสมอ

ดูวิธีผสานรวม App Distribution กับ fastlane ได้ที่หัวข้อเผยแพร่แอป iOS ให้ผู้ทดสอบโดยใช้ fastlane ดูCodelab ที่แนะนำขั้นตอนการผสานรวมแบบด่วน

ใช้ Firebase CLI

ใช้Firebaseเครื่องมือ CLI ที่ App Distribution มีให้เพื่อแจกจ่ายบิลด์ให้ผู้ทดสอบแบบเป็นโปรแกรม คุณสามารถระบุผู้ทดสอบและหมายเหตุรุ่นสำหรับบิลด์ได้

เผยแพร่บิลด์ iOS เวอร์ชันล่าสุด test.ipa โดยระบุรหัสแอป Firebase ของแอป เพิ่มหมายเหตุเกี่ยวกับรุ่นและไฟล์ที่มีอีเมลของผู้ทดสอบ (ไม่บังคับ) ดังนี้

firebase appdistribution:distribute test.ipa  \
    --app 1:1234567890:ios:0a1b2c3d4e5f67890  \
    --release-notes "Bug fixes and improvements" --testers-file testers.txt

ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Firebase CLI เพื่อทำให้การสร้างเป็นแบบอัตโนมัติได้ที่หัวข้อเผยแพร่แอป iOS ให้แก่ผู้ทดสอบโดยใช้ Firebase CLI

ใช้ข้อมูลเข้าสู่ระบบของบริการเพื่อตรวจสอบสิทธิ์

ใช้App Distribution ปลั๊กอิน Fastlane หรือ Firebase CLI กับบัญชีบริการ ซึ่งใช้ประโยชน์จากข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชันและช่วยคุณจัดการ CI บัญชีบริการเป็นบัญชี Google ประเภทหนึ่งที่แสดงถึงแอปพลิเคชัน ไม่ใช่ผู้ใช้ ระบบ CI สามารถใช้บัญชีบริการเพื่อเรียกใช้เวิร์กโหลด App Distribution ดูข้อมูลเพิ่มเติมได้ที่ตรวจสอบสิทธิ์ด้วยบัญชีบริการ

หากใช้การรวมข้อมูลประจำตัวของเวิร์กโหลด คุณสามารถสร้างและใช้ไฟล์การกำหนดค่าข้อมูลเข้าสู่ระบบแทนคีย์บัญชีบริการได้

โปรดคำนึงถึงขีดจำกัดการเผยแพร่

App Distribution รองรับรุ่นได้สูงสุด 1,000 รุ่นต่อแอป ซึ่งหมายความว่าเมื่อคุณมีรุ่นเกินขีดจํากัด App Distribution จะลบรุ่นเก่าที่สุดที่เกินขีดจํากัดโดยอัตโนมัติ ดูวิธีจัดการขีดจำกัดของรุ่นได้ที่หัวข้อรุ่นของแอปจะพร้อมใช้งานนานเท่าใด

เพิ่มผู้ทดสอบชุดเดียวกันลงในหลายรุ่น

หากต้องการเพิ่มผู้ทดสอบจำนวนมากลงในรุ่น ให้ใช้ฟังก์ชันการจัดการผู้ทดสอบแบบเป็นกลุ่มของ App Distribution

เราขอแนะนำให้คุณใช้กลุ่มเพื่อเพิ่มผู้ทดสอบรายเดียวกันลงในหลายรุ่น กลุ่มจะทำหน้าที่เป็นรายการควบคุมการเข้าถึง เมื่อคุณนำผู้ทดสอบออกจากกลุ่ม ผู้ทดสอบรายนั้นจะเสียสิทธิ์เข้าถึงรุ่นทั้งหมดที่เผยแพร่ไปยังกลุ่มนั้น ดูข้อมูลเพิ่มเติมได้ที่หัวข้อเพิ่มและนำผู้ทดสอบออกจากกลุ่ม

หากมีจำนวนผู้ทดสอบจำนวนมากที่ต้องจัดการ คุณสามารถเพิ่มและลบผู้ทดสอบหลายรายพร้อมกันได้โดยใช้คอนโซล Firebase หากต้องการเพิ่มและนำผู้ทดสอบออกโดยอัตโนมัติ ให้ใช้ Firebase CLI, fastlane หรือ Firebase App Distribution API สาธารณะ

โปรดคำนึงถึงขีดจำกัดของผู้ทดสอบ

App Distribution จำกัดจำนวนผู้ทดสอบที่คุณเพิ่มลงในโปรเจ็กต์ Firebase หรือกลุ่ม App Distribution ได้ เมื่อมีผู้ทดสอบเกินขีดจำกัดเหล่านี้ คุณจะไม่สามารถเผยแพร่แอปให้ผู้ทดสอบคนอื่นๆ ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับขีดจํากัดของผู้ทดสอบได้ที่การเพิ่มผู้ทดสอบลงในแอปของฉันมีข้อจํากัดไหม

จัดการและเพิ่มอุปกรณ์ iOS ใหม่ของผู้ทดสอบโดยอัตโนมัติ

App Distribution จะช่วยคุณจัดการอุปกรณ์ iOS ของผู้ทดสอบในพอร์ทัลนักพัฒนาแอปของ Apple โดยแจ้งให้คุณทราบเกี่ยวกับอุปกรณ์ iOS ของผู้ทดสอบเครื่องใหม่ทางอีเมลหรือไฟล์ CSV เพื่อช่วยในการลงทะเบียนอุปกรณ์ iOS ของผู้ทดสอบเพิ่มเติม ดูข้อมูลเพิ่มเติมได้ที่หัวข้อนําเข้าผู้ทดสอบจากไฟล์ CSV นอกจากนี้ คุณยังส่งออกอุปกรณ์ใหม่โดยใช้ Fastlane แบบเป็นโปรแกรมได้ด้วย

หากต้องการดูวิธีตั้งค่าการดำเนินการของ Fastlane ที่ดึงข้อมูล UDID โดยอัตโนมัติ เพิ่มลงในคอนโซลของนักพัฒนาแอป Apple จากนั้นสร้างแอปและเผยแพร่ใหม่ โปรดดูเผยแพร่บิลด์ iOS รุ่นก่อนเผยแพร่ได้เร็วขึ้นด้วย App Distribution และ Fastlane

ให้ผู้ทดสอบที่สนใจลงทะเบียนเพื่อทดสอบด้วยตนเอง

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

กรณีการใช้งานของลิงก์คำเชิญ ได้แก่ โปรแกรมการทดสอบซอฟต์แวร์ของบริษัท องค์กรที่มีทีม QA ขนาดใหญ่ และกลุ่มนักพัฒนาซอฟต์แวร์ที่ต้องการให้ลูกค้าแต่ละรายควบคุมการเข้าถึงของผู้ทดสอบได้

เราขอแนะนำให้คุณสร้างลิงก์คำเชิญสำหรับกลุ่ม ระบบจะเพิ่มผู้ทดสอบที่ลงชื่อสมัครใช้โดยใช้ลิงก์คำเชิญไปยังรุ่นต่อๆ ไปโดยอัตโนมัติ

ดูข้อมูลเพิ่มเติมได้ที่สร้างลิงก์เชิญ และเพิ่มและนำผู้ทดสอบออกจากกลุ่ม

ตรวจสอบว่าผู้ทดสอบกำลังทดสอบเวอร์ชันที่คุณสนใจ

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

  • ลิงก์รุ่น: ใช้ฟีเจอร์นี้เมื่อคุณต้องการแชร์เวอร์ชันที่เฉพาะเจาะจงกับผู้ทดสอบ ดูวิธีใช้ลิงก์รุ่นได้ที่หัวข้อเผยแพร่แอป iOS ให้ผู้ทดสอบโดยใช้Firebase Console ลิงก์เหล่านี้ยังมีให้ใช้งานกับเครื่องมือบรรทัดคำสั่ง (CLI) ของ Firebase และ fastlane เพื่อใช้กับเครื่องมืออัตโนมัติในการสร้างด้วย

  • การแจ้งเตือนในแอป: ใช้การแจ้งเตือนเหล่านี้เมื่อคุณต้องการตรวจสอบว่าผู้ทดสอบกำลังทดสอบแอปเวอร์ชันล่าสุดอยู่ การผสานรวม Firebase App Distribution iOS SDK จะช่วยให้คุณแสดงการแจ้งเตือนให้ผู้ทดสอบเห็นโดยตรงในแอปได้เมื่อบิลด์ใหม่ของแอปพร้อมใช้งาน ดูวิธีเพิ่มการแจ้งเตือนในแอปได้ที่แจ้งผู้ทดสอบเกี่ยวกับบิลด์ใหม่

นำสิทธิ์เข้าถึงสำหรับผู้ทดสอบที่ลาออกจากบริษัทออกโดยอัตโนมัติ

เมื่อขั้นตอนการทดสอบภายในของ CI/CD พร้อมใช้งานแล้ว คุณต้องตรวจสอบว่าผู้ที่ออกจากบริษัทไม่มีสิทธิ์เข้าถึงบิลด์ภายในอีกต่อไป App Distribution มีตัวเลือกต่อไปนี้เพื่อช่วยคุณจัดการสิทธิ์เข้าถึงบิลด์ของผู้ทดสอบ