本文檔介紹了使用 Firebase App Distribution 讓您的 Android 預發布測試工作流程在 CI/CD 環境中可持續且可重複的最佳實踐。解決方案包括 Gradle 和 fastlane,但為了給您更大的靈活性,我們還提供透過 Firebase 控制台、Firebase CLI 和公共 Firebase 應用程式分發 API 提供的解決方案。我們還描述了發布和測試人員限制,以便您可以提前規劃以獲得最佳體驗。
如果您也使用 Apple 平台,請參閱使用 CI/CD 和 fastlane 將 Apple 應用程式分發給 QA 測試人員的最佳實務。
在你開始之前
在實施本文檔中的最佳實踐之前,請務必在 Firebase 控制台中為每個應用程式啟用應用程式分發。如果您尚未啟用 App Distribution,您將收到 404 錯誤。
若要啟用應用程式分發,請執行下列步驟:
- 在 Firebase 控制台中開啟「應用程式分發」頁面。
- 選擇您的 Android 應用程式。
- 單擊開始。
鑑於 Android App Bundles (AAB) 正在成為最常見的 Android 套件格式,我們建議您設定透過連結至 Google Play向測試人員分發 AAB 的功能。
使用 CI/CD 管道自動化您的預發布測試工作流程
如果您想自動建立應用程式並將其發佈給測試人員並且您正在使用 CI/CD,我們建議您使用fastlane或Gradle 。另一個選擇是使用Firebase CLI ,它可以讓您存取各種 Firebase 產品。
使用快速通道
使用 fastlane 將應用程式分發整合到您的 CI/CD 管道中,fastlane 是一種開源工具,可自動建置和發布 iOS 和 Android 應用程式。透過自動建立最新版本並將其分發給測試人員,您可以確保測試人員始終擁有應用程式的最新測試版本。
若要了解如何將 App Distribution 與 fastlane 集成,請參閱使用 fastlane 將 Android 應用程式分發給測試人員。
使用搖籃
使用 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 帳戶。您的 CI 系統可以使用服務帳戶來執行您的 App Distribution 工作負載。要了解更多信息,請參閱使用服務帳戶進行身份驗證。
如果您使用工作負載身分聯合,則可以產生並使用憑證設定檔而不是服務帳戶金鑰。
牢記發布限制
App Distribution 支援每個應用程式最多 1,000 個版本。這表示當您超出版本限制時,App Distribution 會自動刪除超出限制的最舊版本。若要了解如何管理發布限制,請參閱應用程式發布的可用時間有多長?
將同一組測試人員新增至多個版本
如果您想要為您的版本新增大量測試人員,請使用 App Distribution 的批次測試人員管理功能。
我們建議您使用群組將相同的測試人員新增至多個版本。群組充當存取控制清單;當您從群組中刪除測試人員時,他們將失去分發到該群組的所有版本的存取權。要了解更多信息,請參閱在群組中新增和刪除測試人員。
如果您有大量測試人員需要管理,您可以使用 Firebase 控制台批次新增和刪除測試人員。若要自動新增和刪除測試人員,請使用Firebase CLI 、 fastlane 、 Gradle或公用 Firebase App Distribution API 。
牢記測試儀限制
應用程式分發限制了您可以添加到 Firebase 專案或應用程式分發組的測試人員數量。當您超過這些限制時,您將無法將您的應用程式分發給其他測試人員。要了解有關測試人員限制的更多信息,請參閱向我的應用程式添加測試人員是否有限制?
使潛在的測試人員能夠自行註冊進行測試
為了更輕鬆地將您的應用程式分發給更多測試人員,我們建議您使用邀請連結。邀請連結是一個獨特的 URL,測試人員可以透過它輸入電子郵件地址來註冊測試應用程式。允許用戶將自己添加到您的應用程式測試人員清單中是擴大內部測試基礎的無縫方式。
邀請連結案例包括公司測試計劃、擁有大型 QA 團隊的組織以及希望個人客戶能夠控制測試人員存取權限的開發人員團體。
我們建議您為群組建立邀請連結。任何使用邀請連結註冊的測試人員都會自動新增到後續版本。
要了解更多信息,請參閱建立邀請連結和在群組中新增和刪除測試人員。
確保測試人員正在測試您關心的版本
上傳新版本時,您的測試人員會收到電子郵件通知。為了補充此通知,您可以使用以下功能(發布連結和應用程式內警報)來確保您的測試人員正在測試您關心的特定應用程式版本:
- 發布連結:當您想與測試人員分享特定版本時,請使用此功能。若要了解如何使用發布鏈接,請參閱使用 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
的-- EMAILSappDistributionRemoveTesters
。要了解更多信息,請參閱使用 Gradle 向測試人員分發 Android 應用程式。 - 公共Firebase 應用程式分發 API :使用
testers.batchRemove
端點。