使用 CI/CD 發布 Android 應用程式給品質確保測試人員的最佳做法

本文將介紹使用 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」。

事前準備

在實作本文的最佳做法之前,請務必App DistributionFirebase控制台中為每個應用程式啟用。如果尚未啟用 App Distribution,您會收到 404 錯誤。

如要啟用 App Distribution,請按照下列步驟操作:

  1. Firebase 控制台中開啟「App Distribution」頁面
  2. 選取 Android 應用程式。
  3. 點選「開始使用」

由於 Android App Bundle (AAB) 逐漸成為最常見的 Android 套件格式,建議您連結至 Google Play,設定將 AAB 發布給測試人員的功能。

使用 CI/CD 管道自動執行預先發布測試工作流程

如要自動建構應用程式並發布給測試人員,且您使用 CI/CD,建議使用 fastlaneGradle。您也可以使用 Firebase CLI,存取各種 Firebase 產品。

使用 fastlane

使用 fastlane (開放原始碼工具,可自動建構及發布 iOS 和 Android 應用程式),將 App Distribution 整合至 CI/CD 管道。自動建構最新版本並發布給測試人員,確保測試人員一律使用最新測試版應用程式。

如要瞭解如何透過 fastlane 整合 App Distribution,請參閱「使用 fastlane 將 Android 應用程式發布給測試人員」。

使用 Gradle

使用 Gradle 外掛程式,透過 Gradle 將 App Distribution 整合到 Android 建構程序中。App Distribution您可以在應用程式的 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 CLIfastlaneGradle公開 Firebase App Distribution API

請注意測試人員限制

App Distribution 限制可新增至 Firebase 專案或 App Distribution 群組的測試人員人數。超過上限後,您就無法再將應用程式發布給其他測試人員。如要進一步瞭解測試人員限制,請參閱「為應用程式新增測試人員時是否有任何限制?」一文。

讓潛在測試人員自行註冊參加測試

為方便將應用程式發布給更多測試人員,建議您使用邀請連結。邀請連結是專屬網址,測試人員只要輸入電子郵件地址,即可申請測試應用程式。啟用這項功能後,使用者就能自行加入應用程式測試人員名單,輕鬆擴大內部測試人員規模。

邀請連結的應用情境包括公司內部測試計畫、擁有大型 QA 團隊的機構,以及希望個別客戶控管測試人員存取權的開發人員群組。

建議您為群組建立邀請連結。使用邀請連結註冊的任何測試人員,都會自動加入後續版本。

詳情請參閱「建立邀請連結」和「在群組中新增及移除測試人員」。

確認測試人員測試的是您關心的版本

上傳新版本後,測試人員會收到電子郵件通知。為輔助這項通知,您可以使用下列功能 (發布連結和應用程式內快訊),確保測試人員測試的是您關心的特定應用程式版本:

  • 版本連結:如要與測試人員分享特定版本,請使用這項功能。如要瞭解如何使用發布連結,請參閱「使用 Firebase 管理中心向測試人員發布 Android 應用程式」。您也可以透過 FirebasefastlaneGradle 指令列 (CLI) 工具取得這些連結,以便搭配建構自動化工具使用。
  • 應用程式內快訊:如要確保測試人員測試的是最新版應用程式,請使用這些快訊。整合 Firebase App Distribution Android SDK 後,當應用程式有新版本時,您就能直接在應用程式內向測試人員顯示快訊。如要瞭解如何新增應用程式內快訊,請參閱「通知測試人員新版本」。

自動移除離職員工的測試人員存取權

當 CI/CD 內部測試流程開始運作後,請務必確保離職員工無法再存取內部版本。為協助您管理測試人員的建構版本存取權,App Distribution 提供下列選項: