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