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

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

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

ก่อนที่คุณจะเริ่ม

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

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

  1. เปิด หน้าการเผยแพร่แอป ในคอนโซล Firebase

  2. เลือกแอป iOS ของคุณ

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

ทำให้เวิร์กโฟลว์การทดสอบก่อนเผยแพร่ของคุณเป็นแบบอัตโนมัติโดยใช้ CI/CD

หากคุณต้องการสร้างและเผยแพร่แอปให้กับผู้ทดสอบของคุณโดยอัตโนมัติ และคุณใช้ CI/CD เราขอแนะนำให้คุณใช้ fastlane อีกทางเลือกหนึ่งคือการใช้ Firebase CLI ซึ่งช่วยให้คุณเข้าถึงผลิตภัณฑ์ Firebase ที่หลากหลาย

ใช้ช่องทางด่วน

ผสานรวม 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

ใช้ข้อมูลรับรองการบริการเพื่อตรวจสอบสิทธิ์

ใช้ ปลั๊กอิน Fastlane ของ App Distribution หรือ 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 ใหม่โดยอัตโนมัติ

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

หากต้องการเรียนรู้วิธีตั้งค่าการดำเนินการ Fastlane ที่จะดึง UDID ลงโดยอัตโนมัติ เพิ่มลงในคอนโซลนักพัฒนาของ Apple จากนั้นสร้างแอปใหม่และแจกจ่าย โปรดดู ที่เผยแพร่ iOS เวอร์ชันก่อนเผยแพร่ของคุณให้เร็วขึ้นด้วย App Distribution และ Fastlane

ช่วยให้ผู้ทดสอบที่มีศักยภาพสามารถลงทะเบียนการทดสอบด้วยตนเอง

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

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

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

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

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

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

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

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

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

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