แนวทางปฏิบัติแนะนำสำหรับการเผยแพร่แอป Apple ไปยังผู้ทดสอบ QA โดยใช้ CI/CD และ Fastlane

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

หากคุณใช้ Android ด้วย โปรดดู แนวทางปฏิบัติแนะนำสำหรับการเผยแพร่แอป Android ให้กับผู้ทดสอบ QA โดยใช้ CI/CD

ก่อนเริ่มต้น

ก่อนที่จะนำแนวทางปฏิบัติแนะนำในเอกสารนี้ไปใช้ โปรดตรวจสอบว่าได้เปิดใช้ App DistributionในFirebaseคอนโซลสำหรับแต่ละแอปแล้ว หากยังไม่ได้เปิดใช้ App Distributionคุณจะได้รับข้อผิดพลาด 404

หากต้องการเปิดใช้ App Distribution ให้ทำตามขั้นตอนต่อไปนี้

  1. เปิดหน้า App Distribution ใน Firebase Console

  2. เลือกแอป iOS

  3. คลิกเริ่มต้นใช้งาน

ทำให้เวิร์กโฟลว์การทดสอบรุ่นทดลองเป็นแบบอัตโนมัติโดยใช้ 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 App ID และเลือกเพิ่มหมายเหตุประจำรุ่นและไฟล์ที่มีอีเมลของผู้ทดสอบ

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, หรือ APIFirebase App Distribution สาธารณะ

โปรดทราบข้อจำกัดของผู้ทดสอบ

App Distribution จำกัดจำนวนผู้ทดสอบที่คุณเพิ่มลงในโปรเจ็กต์ Firebase หรือกลุ่ม App Distribution เมื่อเกินขีดจำกัดเหล่านี้ คุณจะเผยแพร่แอปไปยังผู้ทดสอบเพิ่มเติมไม่ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับขีดจำกัดของผู้ทดสอบ ได้ที่ การเพิ่มผู้ทดสอบลงในแอปของฉันมีขีดจำกัดหรือไม่

จัดการและเพิ่มอุปกรณ์ใหม่ของผู้ทดสอบ iOS โดยอัตโนมัติ

App Distribution App Distribution ช่วย คุณจัดการอุปกรณ์ของผู้ทดสอบ iOS ใน Apple Developer Portal โดยแจ้ง คุณเกี่ยวกับอุปกรณ์ iOS ใหม่ของผู้ทดสอบผ่านอีเมลหรือไฟล์ CSV เพื่อช่วยคุณลงทะเบียนอุปกรณ์ของผู้ทดสอบ iOS เพิ่มเติม ดูข้อมูลเพิ่มเติมได้ที่ นำเข้าผู้ทดสอบจากไฟล์ 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 มี ตัวเลือกต่อไปนี้: