本文將介紹使用 Firebase App Distribution 的最佳做法,讓 Android 預先發布測試工作流程在 CI/CD 環境中可持續進行及重複執行。解決方案包括 Gradle 和 fastlane,但為了提供更多彈性,我們也納入可透過 Firebase 控制台、Firebase CLI 和公開 Firebase App Distribution API 使用的解決方案。我們也會說明發布和測試人員的限制,方便您預先規劃,提供最佳體驗。
如果您也使用 Apple 平台,請參閱「 Best practices for distributing Apple apps to QA testers using CI/CD and fastlane」。
事前準備
在實作本文的最佳做法之前,請務必先在 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 管道。fastlane 是一項開放原始碼工具,可自動建構及發布 iOS 和 Android 應用程式。自動建構最新版本並發布給測試人員,確保測試人員一律使用應用程式的最新測試版本。
如要瞭解如何透過 fastlane 整合 App Distribution,請參閱「使用 fastlane 將 Android 應用程式發布給測試人員」。
使用 Gradle
使用 Gradle 外掛程式,透過 Gradle 將 App DistributionApp Distribution 整合到 Android 建構程序中。您可以在應用程式的 build.gradle 檔案中指定測試人員和版本說明,並透過外掛程式為不同建構類型和應用程式變種版本設定發布作業。
如要瞭解如何將 App Distribution 與 Gradle 整合,請參閱「使用 Gradle 將 Android 應用程式發布給測試人員」。
使用 Firebase CLI
使用 Firebase CLI 工具,以程式輔助方式將建構版本發布給測試人員。App Distribution您可以為建構版本指定測試人員和版本說明。
指定應用程式的 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 工作負載。詳情請參閱「使用服務帳戶進行驗證」。
如果您使用 workload identity federation,可以產生並使用憑證設定檔,取代服務帳戶金鑰。
請注意發布限制
App Distribution 的每個應用程式版本數量上限為 1,000 個。因此,如果超出版本數量上限,App Distribution 會自動刪除超出上限的最舊版本。如要瞭解如何管理發布限制,請參閱「應用程式版本可供下載的時間有多長?」一文。
將同一組測試人員新增至多個版本
如要為發布版本新增大量測試人員,請使用 App Distribution 的大量測試人員管理功能。
建議您使用群組,將相同測試人員加入多個版本。群組會做為存取權控制清單,從群組中移除測試人員後,他們就無法再存取發布給該群組的所有版本。詳情請參閱「在群組中新增及移除測試人員」。
如果需要管理大量測試人員,可以使用 Firebase 控制台大量新增及刪除測試人員。如要自動新增及移除測試人員,請使用 Firebase CLI、fastlane、Gradle 或公開 Firebase App Distribution API。
請注意測試人員限制
App Distribution 限制可新增至 Firebase 專案或 App Distribution 群組的測試人員人數。超過上限後,您就無法再將應用程式發布給其他測試人員。如要進一步瞭解測試人員限制,請參閱「為應用程式新增測試人員時,是否有任何限制?」一文。
讓潛在測試人員自行註冊參加測試
為方便將應用程式發布給更多測試人員,建議您使用邀請連結。邀請連結是專屬網址,測試人員只要輸入電子郵件地址,即可註冊測試應用程式。啟用這項功能後,使用者就能將自己新增至應用程式測試人員清單,輕鬆擴大內部測試人員群組。
邀請連結的用途包括公司內部測試計畫、擁有大型 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:removeaction。詳情請參閱「使用 Firebase CLI 將 Android 應用程式發布給測試人員」。 - Gradle:如果您使用 Gradle 移除測試人員,請在
build.gradle檔案中,將appDistributionRemoveTesters傳遞至引數和--PROJECT_NUMBER 。詳情請參閱「使用 Gradle 將 Android 應用程式發布給測試人員」。--EMAILS - **公開
Firebase App Distribution API:** 使用
testers.batchRemove端點。