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