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

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

หากคุณใช้แพลตฟอร์ม 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

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

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

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

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

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

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

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

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

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

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

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

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