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

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

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

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

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

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

  1. เปิดหน้า App Distribution ในคอนโซล Firebase

  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

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

หากใช้การรวมข้อมูลประจำตัวของเวิร์กโหลด คุณสามารถสร้างและใช้ไฟล์การกำหนดค่าข้อมูลเข้าสู่ระบบแทนคีย์บัญชีบริการได้

โปรดคำนึงถึงขีดจำกัดของรุ่น

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 ที่ไม่ซ้ำกันซึ่งช่วยให้ผู้ทดสอบป้อนอีเมลเพื่อลงชื่อสมัครใช้เพื่อทดสอบแอปได้ การเปิดโอกาสให้ผู้ใช้เพิ่มตัวเองลงในรายชื่อผู้ทดสอบแอปเป็นวิธีที่ง่ายดายในการเพิ่มฐานการทดสอบภายใน

กรณีการใช้งานลิงก์คำเชิญ ได้แก่ โปรแกรมการทดสอบซอฟต์แวร์ของบริษัท องค์กรที่มีทีม QA ขนาดใหญ่ และกลุ่มนักพัฒนาซอฟต์แวร์ที่ต้องการให้ลูกค้าแต่ละรายควบคุมการเข้าถึงของผู้ทดสอบได้

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

ดูข้อมูลเพิ่มเติมได้ที่สร้างลิงก์เชิญ และเพิ่มและนำผู้ทดสอบออกจากกลุ่ม

ตรวจสอบว่าผู้ทดสอบกำลังทดสอบเวอร์ชันที่คุณสนใจ

เมื่ออัปโหลดเวอร์ชันใหม่ ผู้ทดสอบจะได้รับการแจ้งเตือนทางอีเมล คุณสามารถเสริมการแจ้งเตือนนี้ด้วยการใช้ฟีเจอร์ต่อไปนี้ ซึ่งได้แก่ ลิงก์รุ่นและการแจ้งเตือนในแอป เพื่อให้แน่ใจว่าผู้ทดสอบกำลังทดสอบแอปเวอร์ชันที่คุณสนใจ

  • ลิงก์รุ่น: ใช้ฟีเจอร์นี้เมื่อคุณต้องการแชร์เวอร์ชันที่เจาะจงกับผู้ทดสอบ ดูวิธีใช้ลิงก์รุ่นได้ที่หัวข้อเผยแพร่แอป iOS ให้ผู้ทดสอบโดยใช้Firebase Console ลิงก์เหล่านี้ยังมีให้ใช้งานกับเครื่องมือบรรทัดคำสั่ง (CLI) ของ Firebase และ fastlane เพื่อใช้กับเครื่องมืออัตโนมัติในการสร้างด้วย

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

นำสิทธิ์เข้าถึงสำหรับผู้ทดสอบที่ลาออกจากบริษัทออกโดยอัตโนมัติ

เมื่อขั้นตอนการทดสอบภายในของ CI/CD พร้อมใช้งานแล้ว คุณต้องตรวจสอบว่าผู้ที่ออกจากบริษัทไม่มีสิทธิ์เข้าถึงบิลด์ภายในอีกต่อไป App Distribution มีตัวเลือกต่อไปนี้เพื่อช่วยคุณจัดการสิทธิ์เข้าถึงบิลด์ของผู้ทดสอบ