Catch up on highlights from Firebase at Google I/O 2023. Learn more

使用 CI/CD 將 Android 應用程序分發給 QA 測試人員的最佳實踐

本文檔介紹了使用 Firebase App Distribution 使您的 Android 預發布測試工作流在 CI/CD 環境中可持續和可重複的最佳實踐。解決方案包括 Gradle 和 fastlane,但為了給您更大的靈活性,我們還包括通過 Firebase 控制台、Firebase CLI 和公共 Firebase App Distribution API 提供的解決方案。我們還描述了發布和測試人員限制,以便您可以提前計劃以獲得最佳體驗。

如果您還使用 Apple 平台,請參閱使用 CI/CD 和 fastlane 將 Apple 應用程序分發給 QA 測試人員的最佳實踐

在你開始之前

在您實施本文檔中的最佳實踐之前,請務必在 Firebase 控制台中為每個應用程序啟用 App Distribution。如果您尚未啟用 App Distribution,您將收到 404 錯誤。

要啟用 App Distribution,請執行以下步驟:

  1. 在 Firebase 控制台中打開App Distribution 頁面
  2. 選擇您的安卓應用。
  3. 單擊開始

鑑於 Android App Bundle (AAB) 正在成為最常見的 Android 包格式,我們建議您設置通過鏈接到 Google Play將 AAB 分發給測試人員的功能。

使用 CI/CD 管道自動化您的預發布測試工作流程

如果您想自動構建應用程序並將其發布給測試人員,並且您正在使用 CI/CD,我們建議您使用fastlaneGradle 。另一種選擇是使用Firebase CLI ,它允許您訪問各種 Firebase 產品。

使用快車道

使用 fastlane 將 App Distribution 集成到您的 CI/CD 管道中,fastlane 是一種開源工具,可自動構建和發布 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 pluginGradle plugin或 Firebase CLI 與服務帳戶一起使用。服務帳戶是一種代表應用程序(而不是用戶)的 Google 帳戶。您的 CI 系統可以使用服務帳戶來運行您的 App Distribution 工作負載。要了解更多信息,請參閱使用服務帳戶進行身份驗證

如果您使用的是工作負載聯合身份驗證,則可以生成並使用憑據配置文件而不是服務帳戶密鑰。

請記住發布限制

App Distribution 支持每個應用最多 1,000 個版本。這意味著當您超過版本限制時,App Distribution 會自動刪除超過限制的最舊版本。要了解如何管理版本限制,請參閱應用版本可用多長時間?

將同一組測試人員添加到多個版本

如果您想向您的發布添加大量測試人員,請使用 App Distribution 的批量測試人員管理功能。

我們建議您使用組將相同的測試人員添加到多個版本。充當訪問控制列表;當您從組中刪除測試人員時,他們將無法訪問分發給該組的所有版本。要了解更多信息,請參閱在組中添加和刪除測試人員

如果您有很多測試人員需要管理,您可以使用 Firebase 控制台批量添加和刪除測試人員。要自動添加和刪除測試人員,請使用Firebase CLIfastlaneGradle公共 Firebase App Distribution API

請記住測試人員的限制

App Distribution 限制了您可以添加到 Firebase 項目或 App Distribution 組的測試人員的數量。當您超過這些限制時,您將無法將您的應用分發給其他測試人員。要了解有關測試人員限制的更多信息,請參閱將測試人員添加到我的應用程序是否有限制?

使潛在的測試人員能夠自行註冊進行測試

為了更輕鬆地將您的應用程序分發給更多測試人員,我們建議您使用邀請鏈接。邀請鏈接是一個唯一的 URL,測試人員可以通過它輸入他們的電子郵件地址來註冊測試應用程序。使用戶能夠將自己添加到您的應用程序測試人員列表中是增加內部測試基礎的無縫方式。

邀請鏈接用例包括公司 dogfood 程序、擁有大型 QA 團隊的組織以及希望個人客戶能夠控制測試人員訪問權限的開發人員團體。

我們建議您為群組創建邀請鏈接。使用邀請鏈接註冊的任何測試人員都會自動添加到後續版本中。

要了解更多信息,請參閱創建邀請鏈接在組中添加和刪除測試人員

確保測試人員正在測試您關心的版本

上傳新版本時,您的測試人員會收到電子郵件通知。作為此通知的補充,您可以使用以下功能(發布鏈接和應用程序內提醒)來確保您的測試人員正在測試您關心的特定應用程序版本:

  • 發布鏈接:當您想與測試人員共享特定版本時使用此功能。要了解如何使用發布鏈接,請參閱使用 Firebase 控制台將 Android 應用分發給測試人員。這些鏈接也可用於我們的FirebasefastlaneGradle命令行 (CLI) 工具,以便與您的構建自動化工具一起使用。
  • 應用內提醒:當您想要確保您的測試人員測試的是您應用的最新版本時,請使用這些提醒。通過集成 Firebase App Distribution Android SDK,您可以在應用程序的新版本可用時直接在應用程序內部向測試人員顯示警報。要了解如何添加應用程序內警報,請參閱通知測試人員有關新版本的信息

自動刪除離開公司的測試人員的訪問權限

當您的 CI/CD 內部測試流程啟動並運行時,您需要確保離開公司的人員無法再訪問您的內部構建。為了幫助您管理測試人員對構建的訪問,App Distribution 提供了以下選項: