本文將介紹使用 Firebase App Distribution 的最佳做法,讓 Android 預先發布測試工作流程在 CI/CD 環境中可持續且可重複執行。解決方案包括 Gradle 和 Fastlane,但為讓您有更多彈性,我們也提供透過 Firebase 控制台、Firebase CLI 和公用 Firebase App Distribution API 提供的解決方案。我們也會說明發布和測試人員限制,方便您事先規劃,以便獲得最佳體驗。
如果您也使用 Apple 平台,請參閱使用 CI/CD 和 fastlane 將 Apple 應用程式發布給品質確保測試人員的最佳做法。
事前準備
在實施本文的最佳做法前,請務必在 Firebase 控制台為每個應用程式啟用 App Distribution。如果您尚未啟用 App Distribution,就會收到 404 錯誤。
如要啟用 App Distribution,請按照下列步驟操作:
- 在 Firebase 控制台中開啟 App Distribution 頁面。
- 選取 Android 應用程式。
- 點選「開始使用」。
由於 Android App Bundle (AAB) 已成為最常見的 Android 套件格式,建議您連結至 Google Play,設定將 AAB 發布給測試人員的功能。
使用 CI/CD 管道自動進行預先發布版測試工作流程
如果您想自動化建構及發布應用程式給測試人員,且您使用的是 CI/CD,建議您使用 fastlane 或 Gradle。另一個選項是使用 Firebase CLI,您可以透過這個工具存取各種 Firebase 產品。
使用 fastlane
使用 fastlane 將 App Distribution 整合至 CI/CD 管道,這是可自動建構及發布 iOS 和 Android 應用程式的開放原始碼工具。自動建構並發布最新版本給測試人員,可確保測試人員隨時都能取得應用程式的最新測試版本。
如要瞭解如何將 App Distribution 與 fastlane 整合,請參閱「使用 fastlane 將 Android 應用程式發布給測試人員」一文。
使用 Gradle
使用 Gradle 和 App Distribution Gradle 外掛程式,將 App Distribution 整合至 Android 建構程序。您可以透過這項外掛程式,在應用程式的 build.gradle
檔案中指定測試人員和發布說明,進而為應用程式的不同建構類型和變化版本設定發行版本。
如要瞭解如何將 App Distribution 與 Gradle 整合,請參閱「使用 Gradle 將 Android 應用程式發布給測試人員」。
使用 Firebase CLI
使用 App Distribution 提供的 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 應用程式發布給測試人員」。
使用服務憑證進行驗證
使用 App Distribution fastlane 外掛程式、Gradle 外掛程式或 Firebase CLI 搭配服務帳戶。服務帳戶是一種 Google 帳戶,代表應用程式 (而非使用者)。持續整合系統可以使用服務帳戶執行 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 群組的測試人員數量。一旦超過這些限制,就無法將應用程式發布給其他測試人員。如要進一步瞭解測試人員限制,請參閱「應用程式可新增的測試人員有上限嗎?」
讓潛在測試人員自行註冊測試
為了讓您更輕鬆地將應用程式發送給更多測試人員,建議您使用邀請連結。邀請連結是專屬網址,可讓測試人員輸入電子郵件地址,以便註冊測試應用程式。允許使用者將自己加入應用程式測試人員清單,是增加內部測試基礎的順暢方式。
邀請連結的用途包括公司內部測試計畫、擁有龐大品質保證團隊的機構,以及希望個別客戶能夠控管測試人員存取權的開發人員群組。
建議您為群組建立邀請連結。任何使用邀請連結登錄的測試人員都會自動加入後續版本。
詳情請參閱「建立邀請連結」和「在群組中新增及移除測試人員」。
確認測試人員測試的是您關心的版本
新版本上傳時,系統會透過電子郵件通知測試人員。如要補充這項通知,您可以使用下列功能 (版本連結和應用程式內警示),確保測試人員測試您重視的特定應用程式版本:
- 發布連結:如果您想與測試人員分享特定版本,請使用這項功能。如要瞭解如何使用發布連結,請參閱「使用 Firebase 控制台將 Android 應用程式發布給測試人員」。這些連結也適用於 Firebase、fastlane 和 Gradle 指令列工具 (CLI) 工具,以便與建構自動化工具搭配使用。
- 應用程式內警示:如果您想確保測試人員測試的是最新版應用程式,請使用這類警示。整合 Firebase App Distribution Android SDK 後,您就能在應用程式內直接向測試人員顯示警示,告知應用程式有新版本可供測試。如要瞭解如何新增應用程式內快訊,請參閱「通知測試人員新版本的相關資訊」。
自動移除已離職測試人員的存取權
當 CI/CD 內部測試流程上線後,您必須確保離職人員無法再存取內部版本。為協助您管理測試人員對建構版本的存取權,App Distribution 提供下列選項:
- 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
端點。