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

เอกสารนี้จะแนะนำแนวทางปฏิบัติแนะนำในการใช้ Firebase App Distribution และ Fastlane เพื่อให้เวิร์กโฟลว์การทดสอบก่อนเปิดตัวในแพลตฟอร์ม 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

ใช้เครื่องมือ 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

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

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

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

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

โปรดคํานึงถึงขีดจํากัดของการเผยแพร่

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

ดูวิธีตั้งค่าการทํางานแบบ Fastlane ที่จะดึงลงโดยอัตโนมัติ UDID จะเพิ่ม UDID ลงใน Play Console ของ Apple แล้วสร้างแอปอีกครั้ง และ โปรดดูเผยแพร่บิลด์ของ iOS รุ่นทดลองได้รวดเร็วขึ้นด้วย App Distribution และ Fastlane

อนุญาตให้ผู้ที่มีโอกาสเป็นผู้ทดสอบลงทะเบียนด้วยตนเองสำหรับการทดสอบ

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

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

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

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

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

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

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

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

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

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