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

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

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

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

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

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

  1. เปิดหน้า App Distribution ในคอนโซล Firebase
  2. เลือกแอป Android
  3. คลิกเริ่มต้นใช้งาน

เนื่องจาก Android App Bundle (AAB) กำลังกลายเป็นรูปแบบแพ็กเกจ Android ที่พบมากที่สุด เราจึงขอแนะนำให้คุณตั้งค่าความสามารถในการเผยแพร่ AAB ให้ ผู้ทดสอบโดยการลิงก์กับGoogle Play

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

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

ใช้ fastlane

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

ดูวิธีผสานรวม App Distribution กับ fastlane ได้ที่ เผยแพร่แอป Android ให้ผู้ทดสอบโดยใช้ fastlane

ใช้ Gradle

ใช้ Gradle เพื่อผสานรวม App Distribution เข้ากับกระบวนการบิลด์แอป Android โดยใช้ App Distribution ปลั๊กอิน Gradle ปลั๊กอินนี้ช่วยให้คุณระบุผู้ทดสอบและบันทึกประจำรุ่นในไฟล์ build.gradle ของแอป ซึ่งช่วยให้คุณกำหนดค่าการเผยแพร่สำหรับประเภทการสร้างและตัวแปรต่างๆ ของแอปได้

ดูวิธีผสานรวม App Distribution กับ Gradle ได้ที่ เผยแพร่แอป Android ให้ผู้ทดสอบโดยใช้ Gradle

ใช้ Firebase CLI

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

เผยแพร่บิลด์ Android ล่าสุดโดยระบุรหัสแอป Firebase ของแอป และเลือกเพิ่มบันทึกประจำรุ่นและไฟล์ที่มีอีเมลของผู้ทดสอบ

firebase appdistribution:distribute test.aab  \
    --app 1:1234567890:android:0a1b2c3d4e5f67890  \
    --release-notes "Bug fixes and improvements" --testers-file testers.txt

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

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

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

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

โปรดทราบขีดจำกัดของรุ่น

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

เพิ่มผู้ทดสอบชุดเดียวกันลงในรุ่นต่างๆ

หากต้องการเพิ่มผู้ทดสอบจำนวนมากในรุ่นต่างๆ ให้ใช้ App Distributionฟังก์ชันการจัดการผู้ทดสอบเป็นกลุ่ม

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

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

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

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

เปิดโอกาสให้ผู้ทดสอบที่อาจเข้าร่วมทดสอบลงทะเบียนด้วยตนเองเพื่อเข้าร่วมการทดสอบ

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

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

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

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

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

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

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

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