本文檔介紹了使用 Firebase App Distribution 和 fastlane 使您的 Apple 平台預發布測試工作流在 CI/CD 環境中可持續和可重複的最佳實踐。雖然本文檔側重於 fastlane,但我們還描述了通過 Firebase 控制台、Firebase CLI 和公共 Firebase App Distribution API 提供的解決方案,為您提供更大的靈活性。我們還描述了發布和測試人員限制,以便您可以提前計劃以獲得最佳體驗。
如果您還使用 Android,請參閱使用 CI/CD 將 Android 應用程序分發給 QA 測試人員的最佳實踐。
在你開始之前
在您實施本文檔中的最佳實踐之前,請務必在 Firebase 控制台中為每個應用程序啟用 App Distribution。如果您尚未啟用 App Distribution,您將收到 404 錯誤。
要啟用 App Distribution,請執行以下步驟:
在 Firebase 控制台中打開App Distribution 頁面。
選擇您的 iOS 應用程序。
單擊開始。
使用 CI/CD 自動化您的預發布測試工作流程
如果您想自動構建應用程序並將其發布給測試人員並且您正在使用 CI/CD,我們建議您使用fastlane 。另一種選擇是使用 Firebase CLI,它允許您訪問各種 Firebase 產品。
使用快車道
使用 fastlane 將 App Distribution 集成到您的 CI/CD 管道中,fastlane 是一種開源工具,可自動構建和發布 iOS 和 Android 應用程序。通過自動構建最新版本並將其分發給測試人員,您可以確保測試人員始終擁有您應用程序的最新測試版本。
要了解如何將 App Distribution 與 fastlane 集成,請參閱使用 fastlane 將 iOS 應用分發給測試人員。另請參閱引導您完成快速通道集成過程的代碼實驗室。
使用 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 CLI 、 fastlane或公共 Firebase App Distribution API 。
請記住測試人員的限制
App Distribution 限制了您可以添加到 Firebase 項目或 App Distribution 組的測試人員的數量。當您超過這些限制時,您將無法將您的應用分發給其他測試人員。要了解有關測試人員限制的更多信息,請參閱將測試人員添加到我的應用程序是否有限制?
管理並自動添加新的 iOS 測試設備
為了幫助您註冊其他 iOS 測試設備,App Distribution 通過電子郵件或 CSV 文件通知您有關新的 iOS 測試設備的信息,從而幫助您在 Apple Developer Portal 中管理您的 iOS 測試設備。要了解更多信息,請參閱從 CSV 文件導入測試人員。您還可以使用 fastlane 以編程方式導出新設備。
要了解如何設置自動提取 UDID 的快速通道操作,將它們添加到 Apple 開發人員控制台,然後重建應用程序並分發它,請參閱使用 App Distribution 和 fastlane 更快地分發預發布 iOS 構建。
使潛在的測試人員能夠自行註冊進行測試
為了更輕鬆地將您的應用程序分發給更多測試人員,我們建議您使用邀請鏈接。邀請鏈接是一個唯一的 URL,測試人員可以通過它輸入他們的電子郵件地址來註冊測試應用程序。使用戶能夠將自己添加到您的應用程序測試人員列表中是增加內部測試基礎的無縫方式。
邀請鏈接用例包括公司 dogfood 程序、擁有大型 QA 團隊的組織以及希望個人客戶能夠控制測試人員訪問權限的開發人員團體。
我們建議您為群組創建邀請鏈接。使用邀請鏈接註冊的任何測試人員都會自動添加到後續版本中。
要了解更多信息,請參閱創建邀請鏈接和在組中添加和刪除測試人員。
確保測試人員正在測試您關心的版本
上傳新版本時,您的測試人員會收到電子郵件通知。作為此通知的補充,您可以使用以下功能(發布鏈接和應用程序內提醒)來確保您的測試人員正在測試您關心的特定應用程序版本:
發布鏈接:當您想與測試人員共享特定版本時使用此功能。要了解如何使用發布鏈接,請參閱使用 Firebase 控制台將 iOS 應用分發給測試人員。這些鏈接也可用於我們的Firebase和fastlane命令行 (CLI) 工具,以便與您的構建自動化工具一起使用。
應用內提醒:當您想要確保您的測試人員測試的是您應用的最新版本時,請使用這些提醒。通過集成 Firebase App Distribution iOS SDK,您可以在應用程序的新版本可用時直接在應用程序內部向測試人員顯示警報。要了解如何添加應用程序內警報,請參閱通知測試人員有關新版本的信息。
自動刪除離開公司的測試人員的訪問權限
一旦您的 CI/CD 內部測試流程啟動並運行,您需要確保離開公司的人員無法再訪問您的內部構建。為了幫助您管理測試人員對構建的訪問,App Distribution 提供了以下選項:
fastlane:使用您的 Fastfile 文件或直接運行 fastlane 操作。要了解有關使用 fastlane 刪除測試人員的更多信息,請參閱使用 fastlane 將 iOS 應用分發給測試人員。
公共Firebase App Distribution API :使用
testers.batchRemove
端點。