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

เอกสารนี้จะแนะนำแนวทางปฏิบัติแนะนำในการใช้ Firebase App Distribution และ Fastlane ในการทำให้เวิร์กโฟลว์การทดสอบก่อนเปิดตัวของแพลตฟอร์ม 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 ที่จะแนะนำขั้นตอนการผสานรวม Fastlane

ใช้ 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

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

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

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

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

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 ลงโดยอัตโนมัติ ให้เพิ่ม UDID ลงใน Play Console ของ Apple จากนั้นสร้างแอปอีกครั้งแล้วเผยแพร่ โปรดดูเผยแพร่บิลด์ของ iOS รุ่นทดลองให้เร็วขึ้นด้วย App Distribution และ Fastlane

อนุญาตให้ผู้ที่มีโอกาสเป็นผู้ทดสอบลงทะเบียนด้วยตนเองสำหรับการทดสอบ

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

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

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

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

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

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

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

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

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

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