使用 CI/CD 和 Fastlane 將 Apple 應用程式發布給品保測試人員的最佳做法

本文將介紹使用 Firebase App Distribution 和 fastlane 的最佳做法,讓 Apple 平台的預先發布測試工作流程在 CI/CD 環境中可持續且可重複執行。雖然本文件著重介紹快速通行的車道, 我們也說明瞭可透過 Firebase 控制台取得的解決方案 Firebase CLI 和公用 Firebase App Distribution API 更有彈性我們也會說明發布和測試人員限制,方便您事先規劃,以便獲得最佳體驗。

如果您也使用 Android,請參閱 使用 CI/CD 發布 Android 應用程式給品質確保測試人員的最佳做法

事前準備

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

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

  1. Firebase 主控台中開啟 App Distribution 頁面

  2. 選取 iOS 應用程式。

  3. 點選「開始使用」

運用 CI/CD 自動化發布預先發布版測試工作流程

如果您想自動建構應用程式並發布給測試人員,且正在使用 CI/CD,建議您使用 fastlane。另一個做法是使用 Firebase CLI,這樣您就能存取各種 Firebase 產品。

使用 Fastlane

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

如要瞭解如何將 App Distribution 與 fastlane 整合,請參閱「使用 fastlane 將 iOS 應用程式發布給測試人員」。您也可以參閱程式碼研究室,瞭解 Fastlane 整合程序。

使用 Firebase CLI

使用 App Distribution 提供的 Firebase CLI 工具,以程式輔助方式將版本發布給測試人員。您可以指定測試人員和版本資訊 建構容器

指定應用程式的 Firebase 應用程式 ID,即可發布最新的 iOS 版本 test.ipa,您也可以視需要新增發布說明和包含測試人員電子郵件的檔案:

firebase appdistribution:distribute test.ipa  \
    --app 1:1234567890:ios:0a1b2c3d4e5f67890  \
    --release-notes "Bug fixes and improvements" --testers-file testers.txt

如要進一步瞭解如何使用 Firebase CLI 自動執行建構作業,請參閱 使用 Firebase CLI 將 iOS 應用程式發布給測試人員

使用服務憑證進行驗證

使用 App Distribution fastlane 外掛程式 或透過服務帳戶使用 Firebase CLI 應用程式預設憑證 並協助您管理 CI服務帳戶是一種 Google 帳戶類型,代表應用程式而非使用者。CI 系統可以使用服務帳戶執行「App Distribution」工作負載。 詳情請參閱使用服務帳戶進行驗證

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

請注意版本限制

App Distribution 支援每個應用程式最多 1,000 個版本。也就是說,如果您超過版本數量上限,App Distribution 會自動刪除超過上限的舊版本。如要瞭解如何管理版本限制,請參閱 應用程式版本的推出時間有多長?

將相同的測試人員加入多個版本

如要為大量版本新增測試人員,請使用 App Distribution 的大量測試人員管理功能。

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

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

請注意測試人員限制

App Distribution 會限制您可新增至 Firebase 專案或 App Distribution 群組的測試人員人數。一旦超過這些限制,您將無法 將應用程式發布給更多測試人員。如要進一步瞭解測試人員限制,請參閱「應用程式可新增的測試人員有何限制?

管理及自動新增 iOS 測試人員裝置

App Distribution 會透過電子郵件或 CSV 檔案通知您新的測試人員 iOS 裝置,協助您在 Apple Developer Portal 中管理 iOS 測試人員裝置。詳情請參閱: 從 CSV 檔案匯入測試人員。 您也可以透過程式輔助方式使用 fastlane 匯出新裝置

如要瞭解如何設定 fastlane 動作,以便自動下載 UDID、將其新增至 Apple 開發人員控制台,然後重新建構及發布應用程式,請參閱「使用 App Distribution 和 fastlane 加快發布 iOS 預發布版本」。

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

如要更輕鬆地將應用程式發行給更多測試人員,建議您採取下列做法: 使用邀請連結邀請連結是專屬網址,可讓測試人員前往 電子郵件地址,以便註冊測試應用程式。允許使用者新增 向應用程式測試人員清單即可輕鬆提升 內部測試基礎

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

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

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

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

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

  • 釋出連結:如要分享特定內容,請使用這項功能 測試這個版本如要瞭解如何使用發布連結,請參閱「使用 Firebase 控制台將 iOS 應用程式發布給測試人員」一文。這些連結也可透過 Firebasefastlane 指令列 (CLI) 工具使用,搭配建置自動化工具使用。

  • 應用程式內警示:如果您想確保測試人員測試的是最新版應用程式,請使用這類警示。整合 Firebase App Distribution iOS SDK 後,您就能在應用程式內直接向測試人員顯示警示,告知應用程式有新版本可供測試。如要瞭解如何新增應用程式內快訊,請參閱「通知測試人員新版本」。

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

開始執行 CI/CD 內部測試流程後,您必須 確保離職員工無法再存取您的 內部版本為協助您管理測試人員的版本,App Distribution 提供以下選項: