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

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

如果您也使用 Android,請參閱使用 CI/CD 向 QA 測試人員分發 Android 應用程序的最佳實踐

在你開始之前

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

要啟用應用程序分發,請執行以下步驟:

  1. 在 Firebase 控制台中打開“應用程序分發”頁面

  2. 選擇您的 iOS 應用程序。

  3. 單擊開始

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

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

使用快速通道

使用 fastlane 將應用程序分發集成到您的 CI/CD 管道中,fastlane 是一種開源工具,可自動構建和發布 iOS 和 Android 應用程序。通過自動構建最新版本並將其分發給測試人員,您可以確保測試人員始終擁有應用程序的最新測試版本。

要了解如何將 App Distribution 與 fastlane 集成,請參閱使用 fastlane 將 iOS 應用程序分發給測試人員。另請參閱引導您完成 fastlane 集成過程的Codelab

使用 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 工作負載。要了解更多信息,請參閱使用服務帳戶進行身份驗證

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

牢記發布限制

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

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

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

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

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

牢記測試儀限制

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

管理並自動添加新的 iOS 測試設備

為了幫助您註冊其他 iOS 測試設備,App Distribution 通過電子郵件或 CSV 文件通知您有關新測試設備的信息,從而幫助您在 Apple 開發人員門戶中管理您的 iOS 測試設備。要了解更多信息,請參閱從 CSV 文件導入測試人員。您還可以使用 fastlane 以編程方式導出新設備

要了解如何設置 fastlane 操作來自動提取 UDID、將其添加到 Apple 開發者控制台,然後重建應用程序並分發它,請參閱使用 App Distribution 和 fastlane 更快地分發預發布的 iOS 版本

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

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

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

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

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

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

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

  • 發布鏈接:當您想與測試人員共享特定版本時,請使用此功能。要了解如何使用發布鏈接,請參閱使用 Firebase 控制台向測試人員分發 iOS 應用。我們的Firebasefastlane命令行 (CLI) 工具也提供了這些鏈接,以便與您的構建自動化工具配合使用。

  • 應用程序內警報:當您想要確保測試人員正在測試應用程序的最新版本時,請使用這些警報。通過集成 Firebase App Distribution iOS SDK,當您的應用程序有新版本可用時,您可以直接在應用程序內向測試人員顯示警報。要了解如何添加應用內警報,請參閱通知測試人員有關新版本的信息

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

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