แนวทางปฏิบัติแนะนำสำหรับการเผยแพร่แอป 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 อีกตัวเลือกหนึ่งคือการใช้ CLI Firebase ซึ่งช่วยให้คุณเข้าถึงผลิตภัณฑ์ 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

หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ CLI ของ Firebase เพื่อให้บิลด์ของคุณทำงานโดยอัตโนมัติ โปรดดู เผยแพร่แอป 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 มีตัวเลือกต่อไปนี้เพื่อช่วยคุณจัดการสิทธิ์เข้าถึงบิลด์ของผู้ทดสอบ