เอกสารนี้จะแนะนำแนวทางปฏิบัติแนะนำสำหรับการใช้ Firebase App Distribution และ fastlane เพื่อทำให้เวิร์กโฟลว์การทดสอบก่อนเผยแพร่สำหรับแพลตฟอร์ม Apple มีความยั่งยืนและทำซ้ำได้ในสภาพแวดล้อม CI/CD แม้ว่าเอกสารนี้จะเน้นที่ fastlane แต่เรายังอธิบายโซลูชันที่พร้อมใช้งานผ่านFirebaseคอนโซล FirebaseCLI และ Firebase App DistributionAPI สาธารณะเพื่อให้คุณมีความยืดหยุ่นมากขึ้น นอกจากนี้ เรายังอธิบายขีดจำกัดของรุ่นและผู้ทดสอบเพื่อให้คุณวางแผนล่วงหน้าเพื่อประสบการณ์การใช้งานที่ดีที่สุดได้
หากคุณใช้ Android ด้วย โปรดดูแนวทางปฏิบัติแนะนำสำหรับการเผยแพร่แอป Android ให้ผู้ทดสอบ QA โดยใช้ CI/CD
ก่อนเริ่มต้น
ก่อนนำแนวทางปฏิบัติแนะนำในเอกสารนี้ไปใช้ โปรดตรวจสอบว่าได้เปิดใช้ App Distribution ในFirebase Console สำหรับแต่ละแอปแล้ว หากยังไม่ได้เปิดใช้ App Distribution คุณจะได้รับข้อผิดพลาด 404
หากต้องการเปิดใช้ App Distribution ให้ทำตามขั้นตอนต่อไปนี้
เปิดApp Distributionหน้า ในคอนโซล Firebase
เลือกแอป iOS
คลิกเริ่มต้นใช้งาน
ทำให้เวิร์กโฟลว์การทดสอบเวอร์ชันก่อนเปิดตัวเป็นอัตโนมัติโดยใช้ CI/CD
หากต้องการสร้างและเผยแพร่แอปให้กับผู้ทดสอบโดยอัตโนมัติและใช้ CI/CD เราขอแนะนำให้ใช้ fastlane อีกทางเลือกหนึ่งคือการใช้ FirebaseCLI ซึ่งช่วยให้คุณเข้าถึงผลิตภัณฑ์ 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
ใช้ข้อมูลเข้าสู่ระบบของบริการเพื่อตรวจสอบสิทธิ์
ใช้App Distribution ปลั๊กอิน fastlane หรือ CLI ของ Firebase กับบัญชีบริการ ซึ่งใช้ประโยชน์จาก ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน และช่วยคุณจัดการ 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 ใหม่โดยอัตโนมัติ
เพื่อช่วยให้คุณลงทะเบียนอุปกรณ์ทดสอบ iOS เพิ่มเติมได้ App Distribution จะช่วย คุณจัดการอุปกรณ์ทดสอบ iOS ใน Apple Developer Portal โดยแจ้งให้คุณทราบ เกี่ยวกับอุปกรณ์ iOS ใหม่สำหรับผู้ทดสอบโดยใช้อีเมลหรือไฟล์ CSV ดูข้อมูลเพิ่มเติมได้ที่นำเข้าผู้ทดสอบจากไฟล์ CSV นอกจากนี้ คุณยังส่งออกอุปกรณ์ใหม่โดยใช้ fastlane แบบเป็นโปรแกรมได้ด้วย
ดูวิธีตั้งค่าการดำเนินการ Fastlane ที่ดึง UDID ลงมาโดยอัตโนมัติ เพิ่มลงในคอนโซลนักพัฒนาแอปของ Apple จากนั้นสร้างแอปใหม่และ เผยแพร่ได้ที่ เผยแพร่บิลด์ iOS รุ่นทดลองได้เร็วขึ้นด้วย App Distribution และ Fastlane
เปิดให้ผู้ทดสอบที่มีศักยภาพลงทะเบียนเพื่อทดสอบด้วยตนเอง
เราขอแนะนำให้คุณใช้ลิงก์คำเชิญเพื่อให้เผยแพร่แอปไปยังผู้ทดสอบได้ง่ายขึ้น ลิงก์คำเชิญคือ URL ที่ไม่ซ้ำกันซึ่งช่วยให้ผู้ทดสอบป้อน อีเมลเพื่อลงชื่อสมัครทดสอบแอปได้ การอนุญาตให้ผู้ใช้เพิ่ม ตัวเองลงในรายชื่อผู้ทดสอบแอปเป็นวิธีที่ราบรื่นในการเพิ่มฐานผู้ทดสอบภายใน
กรณีการใช้งานลิงก์คำเชิญ ได้แก่ โปรแกรมทดสอบภายในบริษัท องค์กรที่มี ทีม QA ขนาดใหญ่ และกลุ่มนักพัฒนาซอฟต์แวร์ที่ต้องการให้ไคลเอ็นต์แต่ละรายควบคุมสิทธิ์เข้าถึงของผู้ทดสอบได้
เราขอแนะนำให้คุณสร้างลิงก์คำเชิญสำหรับกลุ่ม ระบบจะเพิ่มผู้ทดสอบที่ลงชื่อสมัครใช้โดยใช้ลิงก์คำเชิญลงในการเปิดตัวครั้งต่อๆ ไปโดยอัตโนมัติ
ดูข้อมูลเพิ่มเติมได้ที่สร้างลิงก์คำเชิญ และเพิ่มและนำผู้ทดสอบออกจากกลุ่ม
ตรวจสอบว่าผู้ทดสอบกำลังทดสอบเวอร์ชันที่คุณสนใจ
เมื่อมีการอัปโหลดเวอร์ชันใหม่ ผู้ทดสอบจะได้รับการแจ้งเตือนทางอีเมล คุณสามารถใช้ฟีเจอร์ต่อไปนี้เพื่อเสริมการแจ้งเตือนนี้ ได้แก่ ลิงก์การเผยแพร่และการแจ้งเตือนในแอป เพื่อให้มั่นใจว่าผู้ทดสอบกำลังทดสอบแอปเวอร์ชันที่คุณต้องการ
ลิงก์รุ่น: ใช้ฟีเจอร์นี้เมื่อต้องการแชร์รุ่นที่เฉพาะเจาะจงกับผู้ทดสอบ ดูวิธีใช้ลิงก์รุ่นได้ที่ เผยแพร่แอป iOS ให้ผู้ทดสอบโดยใช้Firebaseคอนโซล นอกจากนี้ ลิงก์เหล่านี้ยังพร้อมใช้งานกับเครื่องมือบรรทัดคำสั่ง (CLI) ของ Firebase และ fastlane เพื่อใช้กับเครื่องมือการสร้างอัตโนมัติ
การแจ้งเตือนในแอป: ใช้การแจ้งเตือนเหล่านี้เมื่อต้องการให้ผู้ทดสอบทดสอบแอปเวอร์ชันล่าสุด การผสานรวม App Distribution iOS SDK ของ Firebase จะช่วยให้คุณแสดงการแจ้งเตือนภายในแอปโดยตรงต่อผู้ทดสอบได้เมื่อมีบิลด์ใหม่ของแอป ดูวิธี เพิ่มการแจ้งเตือนในแอปได้ที่แจ้งให้ผู้ทดสอบทราบเกี่ยวกับบิลด์ใหม่
ยกเลิกสิทธิ์เข้าถึงของผู้ทดสอบที่ลาออกจากบริษัทโดยอัตโนมัติ
เมื่อเวิร์กโฟลว์การทดสอบภายใน CI/CD พร้อมใช้งานแล้ว คุณต้องตรวจสอบว่า ผู้ที่ออกจากบริษัทจะไม่มีสิทธิ์เข้าถึงบิลด์ภายในอีกต่อไป App Distribution มีตัวเลือกต่อไปนี้เพื่อช่วยคุณจัดการสิทธิ์เข้าถึงบิลด์ของผู้ทดสอบ
fastlane: ใช้ไฟล์ Fastfile หรือเรียกใช้การดำเนินการ fastlane โดยตรง หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Fastlane เพื่อนำผู้ทดสอบออก โปรดดูเผยแพร่แอป iOS ให้ผู้ทดสอบโดยใช้ Fastlane
**สาธารณะ Firebase App Distribution API: ** ใช้ปลายทาง
testers.batchRemove