本文說明如何使用 Firebase 應用程式發布功能,讓 Android 預先發布版測試工作流程具備永續性且可在 CI/CD 環境中重複執行。解決方案包括 Gradle 和 Quicklane,但為了方便您更有彈性,我們也提供可透過 Firebase 控制台、Firebase CLI 和 Firebase App Distribution API 提供的解決方案。我們也會說明發布版本和測試人員的限制,方便您預先規劃以獲得最佳體驗。
如果您同時使用 Apple 平台,請參閱「使用 CI/CD 和 Quicklane 將 Apple 應用程式發布給品質確保測試人員的最佳做法」一節。
事前準備
實作本文件的最佳做法之前,請務必在 Firebase 控制台中為每個應用程式啟用應用程式發布功能。如果您尚未啟用應用程式發布功能,您會收到 404 錯誤。
如要啟用應用程式發布功能,請按照下列步驟操作:
由於 Android App Bundle (AAB) 是最常見的 Android 套件格式,建議您連結至 Google Play,設定向測試人員發布 AAB 的功能。
使用 CI/CD 管道自動進行預先發布版測試工作流程
如要自動建構並發布應用程式給測試人員,且您正在使用 CI/CD,建議您使用 fastlane 或 Gradle。另一種方式是使用 Firebase CLI,這可讓您存取各種 Firebase 產品。
使用 Fastlane
使用 Fastlane 自動建構及發布 iOS 和 Android 應用程式的開放原始碼工具,將應用程式發布整合至 CI/CD 管道。自動建構並發布最新版本給測試人員,可確保測試人員隨時能取得最新的測試版應用程式。
如要瞭解如何整合「應用程式發布」與 Quicklane,請參閱「使用 Fastlane 向測試人員發布 Android 應用程式」一節。
使用 Gradle
透過 Gradle 使用應用程式發布 Gradle 外掛程式,將應用程式發布整合至 Android 建構程序。這個外掛程式可讓您在應用程式的 build.gradle
檔案中指定測試人員和版本資訊,進而為應用程式的不同建構類型和變化版本設定發行版本。
如要瞭解如何整合應用程式發布與 Gradle,請參閱「使用 Gradle 將 Android 應用程式發布給測試人員」。
使用 Firebase CLI
使用應用程式發布提供的 Firebase CLI 工具,透過程式輔助方式將版本發布給測試人員。您可以為建構作業指定測試人員和版本資訊。
指定應用程式的 Firebase 應用程式 ID,即可發布最新的 Android 版本,並視需要新增版本資訊和內含測試人員電子郵件地址的檔案:
firebase appdistribution:distribute test.aab \
--app 1:1234567890:android:0a1b2c3d4e5f67890 \
--release-notes "Bug fixes and improvements" --testers-file testers.txt
如要進一步瞭解如何使用 Firebase CLI 自動執行建構作業,請參閱「使用 Firebase CLI 將 Android 應用程式發布給測試人員」一文。
使用服務憑證進行驗證
透過服務帳戶使用應用程式發布 fastlane 外掛程式、Gradle 外掛程式或 Firebase CLI。服務帳戶是一種代表應用程式 (而非使用者) 的 Google 帳戶類型。CI 系統可以使用服務帳戶執行應用程式發布工作負載。詳情請參閱使用服務帳戶進行驗證。
如果您使用 Workload Identity 聯盟,可以產生並使用憑證設定檔,而非服務帳戶金鑰。
請注意版本限制
應用程式發布功能支援每個應用程式最多 1,000 個版本。也就是說,如果超出版本限制,應用程式發布會自動刪除超出限制的最舊版本。如要瞭解如何管理版本限制,請參閱「應用程式版本的推出時間為何?」一節。
將同一組測試人員新增至多個版本
如果您想為版本新增大量測試人員,請使用應用程式發布的大量測試人員管理功能。
建議您使用群組,將相同的測試人員加入多個版本。「群組」可做為存取控制清單 (ACL),從群組中移除測試人員後,他們就無法再存取發布至該群組的所有版本。詳情請參閱「在群組中新增及移除測試人員」。
如果有很多測試人員需要管理,您可以透過 Firebase 控制台大量新增及刪除測試人員。如要自動新增及移除測試人員,請使用 Firebase CLI、fastlane、Gradle 或 公開 Firebase App Distribution API。
請注意測試人員數量上限
應用程式發布會限制可新增至 Firebase 專案或「應用程式發布」群組的測試人員數量。一旦超過限制,您就無法將應用程式發布給其他測試人員。如要進一步瞭解測試人員數量上限,請參閱「為應用程式新增測試人員是否有限制?」一節。
讓潛在測試人員自行註冊測試
建議您使用邀請連結,輕鬆將應用程式發行給更多測試人員。「邀請連結」是專屬網址,可讓測試人員輸入電子郵件地址,註冊測試應用程式。只要讓使用者將自己加入應用程式測試人員清單,就能輕鬆增加內部測試集。
邀請連結的用途包括公司 Dogfood 測試計畫、擁有大型品質確保團隊的機構,以及希望個別用戶端控管測試人員存取權的開發人員群組。
建議您為群組建立邀請連結。凡是透過邀請連結申請的測試人員,都會自動新增至後續版本中。
詳情請參閱「建立邀請連結」和「在群組中新增及移除測試人員」。
確保測試人員能測試您重視的版本
新版本上傳時,系統會透過電子郵件通知測試人員。如要補充這則通知,您可以使用下列功能 (發布連結和應用程式內快訊),確保測試人員能測試您重視的應用程式版本:
- 版本連結:如果您想與測試人員分享特定版本,請使用這項功能。如要瞭解如何使用版本連結,請參閱「透過 Firebase 控制台將 Android 應用程式發布給測試人員」一文。這些連結也適用於 Firebase、fastlane 和 Gradle 指令列工具 (CLI) 工具,以便與建構自動化工具搭配使用。
- 應用程式內快訊:如果想確保測試人員正在測試應用程式的最新版本,可使用這類快訊。只要整合 Firebase 應用程式發布 Android SDK,即可在應用程式有新版本的可用時,直接在應用程式內向測試人員顯示快訊。如要瞭解如何新增應用程式內快訊,請參閱「通知測試人員新版本的相關資訊」。
自動移除離職測試人員的存取權
當您的 CI/CD 內部測試流程開始運作時,您必須確保離開公司的人員無法再存取您的內部版本。為協助您管理測試人員的建構作業存取權,應用程式發布提供以下選項:
- fastlane:使用 Fastfile 檔案或直接執行 Fastlane 動作。詳情請參閱「使用 Fastlane 將 Android 應用程式發布給測試人員」。
- Firebase CLI:請使用
firebase appdistribution:testers:remove
動作。詳情請參閱「使用 Firebase CLI 將 Android 應用程式發布給測試人員」。 - Gradle:如果您使用 Gradle 移除測試人員,請在
build.gradle
檔案中透過引數
和--PROJECT_NUMBER
傳遞--EMAILS appDistributionRemoveTesters
。詳情請參閱「使用 Gradle 將 Android 應用程式發布給測試人員」一文。 - 公開的 Firebase App Distribution API:使用
testers.batchRemove
端點。