แนวทางปฏิบัติที่ดีที่สุดในการเผยแพร่แอป 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

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

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

ใช้ Firebase CLI

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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