เอกสารนี้จะแนะนำแนวทางปฏิบัติแนะนำสำหรับการใช้ Firebase App Distribution และ fastlane เพื่อทำให้เวิร์กโฟลว์การทดสอบรุ่นทดลองของแพลตฟอร์ม Apple มีความยั่งยืนและทำซ้ำได้ในสภาพแวดล้อม CI/CD แม้ว่าเอกสารนี้จะเน้นที่ fastlane แต่เรายังอธิบายโซลูชันที่พร้อมใช้งานผ่านคอนโซล Firebase, CLI ของ Firebase และ API สาธารณะของ Firebase App Distribution เพื่อให้คุณมีความยืดหยุ่นมากขึ้นด้วย นอกจากนี้ เรายังอธิบายขีดจำกัดของรุ่นและผู้ทดสอบเพื่อให้คุณวางแผนล่วงหน้าเพื่อรับประสบการณ์การใช้งานที่ดีที่สุด
หากคุณใช้ Android ด้วย โปรดดูแนวทางปฏิบัติแนะนำสำหรับการเผยแพร่แอป Android ให้แก่ผู้ทดสอบ QA โดยใช้ CI/CD
ก่อนเริ่มต้น
ก่อนนำแนวทางปฏิบัติแนะนำในเอกสารนี้ไปใช้ โปรดตรวจสอบว่าได้เปิดใช้ App Distribution ในคอนโซล Firebase สำหรับแต่ละแอปแล้ว หากไม่ได้เปิดใช้ App Distribution คุณจะได้รับข้อผิดพลาด 404
หากต้องการเปิดใช้ App Distribution ให้ทำตามขั้นตอนต่อไปนี้
เปิดหน้า App Distribution ในคอนโซล Firebase
เลือกแอป iOS
คลิกเริ่มต้นใช้งาน
ทำให้เวิร์กโฟลว์การทดสอบรุ่นทดลองเป็นอัตโนมัติโดยใช้ 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
ใช้เครื่องมือ CLI ของ Firebase ที่ 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 ให้ผู้ทดสอบโดยใช้ CLI ของ Firebase
ใช้ข้อมูลเข้าสู่ระบบของบริการเพื่อตรวจสอบสิทธิ์
ใช้App Distribution ปลั๊กอิน fastlane หรือ Firebase CLI กับบัญชีบริการ ซึ่งใช้ประโยชน์จากข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน และช่วยคุณจัดการ 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 โดยอัตโนมัติ เพิ่มลงในคอนโซลนักพัฒนาแอป Apple จากนั้นสร้างแอปใหม่และเผยแพร่ได้ที่หัวข้อเผยแพร่บิลด์ iOS รุ่นทดลองได้เร็วขึ้นด้วย App Distribution และ Fastlane
อนุญาตให้ผู้ทดสอบที่มีโอกาสเข้าร่วมลงทะเบียนเพื่อทดสอบด้วยตนเอง
เราขอแนะนำให้คุณใช้ลิงก์คำเชิญเพื่อให้เผยแพร่แอปไปยังผู้ทดสอบจำนวนมากขึ้นได้ง่ายขึ้น ลิงก์คำเชิญคือ URL ที่ไม่ซ้ำกันซึ่งช่วยให้ผู้ทดสอบป้อนอีเมลเพื่อลงชื่อสมัครเข้าร่วมการทดสอบแอปได้ การอนุญาตให้ผู้ใช้เพิ่มตนเองลงในรายชื่อผู้ทดสอบแอปเป็นวิธีที่ราบรื่นในการเพิ่มฐานการทดสอบภายใน
กรณีการใช้งานลิงก์คำเชิญ ได้แก่ โปรแกรม Dogfood ของบริษัท องค์กรที่มีทีม 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