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

本文說明如何使用 Firebase 應用程式發布功能,讓 Android 預先發布版測試工作流程具備永續性且可在 CI/CD 環境中重複執行。解決方案包括 Gradle 和 Quicklane,但為了方便您更有彈性,我們也提供可透過 Firebase 控制台、Firebase CLI 和 Firebase App Distribution API 提供的解決方案。我們也會說明發布版本和測試人員的限制,方便您預先規劃以獲得最佳體驗。

如果您同時使用 Apple 平台,請參閱「使用 CI/CD 和 Quicklane 將 Apple 應用程式發布給品質確保測試人員的最佳做法」一節。

事前準備

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

如要啟用應用程式發布功能,請按照下列步驟操作:

  1. 在 Firebase 控制台中開啟「應用程式發布」頁面。
  2. 選取您的 Android 應用程式。
  3. 點選「Get Started」(開始使用)

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

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

如要自動建構並發布應用程式給測試人員,且您正在使用 CI/CD,建議您使用 fastlaneGradle。另一種方式是使用 Firebase CLI,這可讓您存取各種 Firebase 產品。

使用 Fastlane

使用 Fastlane 自動建構及發布 iOS 和 Android 應用程式的開放原始碼工具,將應用程式發布整合至 CI/CD 管道。自動建構並發布最新版本給測試人員,可確保測試人員隨時能取得最新的測試版應用程式。

如要瞭解如何整合「應用程式發布」與 Quicklane,請參閱「使用 Fastlane 向測試人員發布 Android 應用程式」一節。

使用 Gradle

透過 Gradle 使用應用程式發布 Gradle 外掛程式,將應用程式發布整合至 Android 建構程序。這個外掛程式可讓您在應用程式的 build.gradle 檔案中指定測試人員和版本資訊,進而為應用程式的不同建構類型和變化版本設定發行版本。

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

使用 Firebase CLI

使用應用程式發布提供的 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 應用程式發布給測試人員」一文。

使用服務憑證進行驗證

透過服務帳戶使用應用程式發布 fastlane 外掛程式Gradle 外掛程式或 Firebase CLI。服務帳戶是一種代表應用程式 (而非使用者) 的 Google 帳戶類型。CI 系統可以使用服務帳戶執行應用程式發布工作負載。詳情請參閱使用服務帳戶進行驗證

如果您使用 Workload Identity 聯盟,可以產生並使用憑證設定檔,而非服務帳戶金鑰。

請注意版本限制

應用程式發布功能支援每個應用程式最多 1,000 個版本。也就是說,如果超出版本限制,應用程式發布會自動刪除超出限制的最舊版本。如要瞭解如何管理版本限制,請參閱「應用程式版本的推出時間為何?」一節。

將同一組測試人員新增至多個版本

如果您想為版本新增大量測試人員,請使用應用程式發布的大量測試人員管理功能。

建議您使用群組,將相同的測試人員加入多個版本。「群組」可做為存取控制清單 (ACL),從群組中移除測試人員後,他們就無法再存取發布至該群組的所有版本。詳情請參閱「在群組中新增及移除測試人員」。

如果有很多測試人員需要管理,您可以透過 Firebase 控制台大量新增及刪除測試人員。如要自動新增及移除測試人員,請使用 Firebase CLIfastlaneGradle公開 Firebase App Distribution API

請注意測試人員數量上限

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

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

建議您使用邀請連結,輕鬆將應用程式發行給更多測試人員。「邀請連結」是專屬網址,可讓測試人員輸入電子郵件地址,註冊測試應用程式。只要讓使用者將自己加入應用程式測試人員清單,就能輕鬆增加內部測試集。

邀請連結的用途包括公司 Dogfood 測試計畫、擁有大型品質確保團隊的機構,以及希望個別用戶端控管測試人員存取權的開發人員群組。

建議您為群組建立邀請連結。凡是透過邀請連結申請的測試人員,都會自動新增至後續版本中。

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

確保測試人員能測試您重視的版本

新版本上傳時,系統會透過電子郵件通知測試人員。如要補充這則通知,您可以使用下列功能 (發布連結和應用程式內快訊),確保測試人員能測試您重視的應用程式版本:

  • 版本連結:如果您想與測試人員分享特定版本,請使用這項功能。如要瞭解如何使用版本連結,請參閱「透過 Firebase 控制台將 Android 應用程式發布給測試人員」一文。這些連結也適用於 FirebasefastlaneGradle 指令列工具 (CLI) 工具,以便與建構自動化工具搭配使用。
  • 應用程式內快訊:如果想確保測試人員正在測試應用程式的最新版本,可使用這類快訊。只要整合 Firebase 應用程式發布 Android SDK,即可在應用程式有新版本的可用時,直接在應用程式內向測試人員顯示快訊。如要瞭解如何新增應用程式內快訊,請參閱「通知測試人員新版本的相關資訊」。

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

當您的 CI/CD 內部測試流程開始運作時,您必須確保離開公司的人員無法再存取您的內部版本。為協助您管理測試人員的建構作業存取權,應用程式發布提供以下選項: