Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

使用 fastlane 將 iOS 應用分發給測試人員

您可以分發建立使用測試FASTLANE ,一個開源平台,可自動構建和發布iOS和Android應用。它遵循一個定義的簡單說明Fastfile 。在設置FASTLANE和你Fastfile ,你可以應用發布與FASTLANE配置整合。

步驟 1. 設置 fastlane

  1. 安裝和設置FASTLANE

  2. 要將 App Distribution 添加到您的 fastlane 配置,請從您的 iOS 項目的根目錄運行以下命令:

    fastlane add_plugin firebase_app_distribution

    如果在命令提示您提供一個選項,選擇Option 3: RubyGems.org

步驟 2. 使用 Firebase 進行身份驗證

在您可以使用 Fastlane 插件之前,您必須首先對您的 Firebase 項目進行身份驗證。有以下三種方法可以實現:

第 3 步。設置您的 Fastfile 並分發您的應用程序

  1. ./fastlane/Fastfile車道,增加一個firebase_app_distribution塊。使用以下參數配置分發:
    firebase_app_distribution 參數
    app

    唯一需要的,如果你的應用程序不包含一個火力地堡配置文件( GoogleService-Info.plist ):您的應用程序的火力地堡的App ID。你可以找到在火力地堡控制台應用程序ID,則在常規設置頁面

    app: "1:1234567890:ios:0a1b2c3d4e5f67890"
    googleservice_info_plist_path

    你的路徑GoogleService-Info.plist文件,相對於存檔產品路徑。設置為GoogleService-Info.plist默認。

    該文件是用來讓你的應用程序的火力地堡的App ID,如果app參數是不確定的。

    firebase_cli_token

    當你運行該插件的登錄操作(見令牌刷新集團的印刷版使用身份驗證的谷歌帳戶,上面),或者當您與火力地堡CLI驗證您的CI環境(閱讀使用與CI系統的CLI獲取更多信息)。

    service_credentials_file

    您的 Google 服務帳戶 json 文件的路徑。見上文關於如何使用服務帳戶憑據進行身份驗證

    ipa_path

    替代對象apk_path (不推薦)。要上傳的 IPA 文件的絕對路徑。如果未指定,fastlane 會根據生成文件的通道確定文件的位置。

    release_notes
    release_notes_file

    此版本的發行說明。

    您可以直接指定發行說明:

    release_notes: "Text of release notes"

    或者,指定純文本文件的路徑:

    release_notes_file: "/path/to/release-notes.txt"
    testers
    testers_file

    您要邀請的測試人員的電子郵件地址。

    您可以將測試人員指定為以逗號分隔的電子郵件地址列表:

    testers: "ali@example.com, bri@example.com, cal@example.com"

    或者,您可以指定包含以逗號分隔的電子郵件地址列表的純文本文件的路徑:

    testers_file: "/path/to/testers.txt"
    groups
    groups_file

    你要邀請的人員群組(指管理測試)。使用指定的組組別名,您可以在 Firebase 控制台中查找。

    您可以將組指定為逗號分隔的列表:

    groups: "qa-team, trusted-testers"

    或者,您可以指定包含逗號分隔的組名列表的純文本文件的路徑:

    groups_file: "/path/to/groups.txt"
    debug

    一個布爾標誌。你可以將其設置為true打印詳細調試輸出。

例如:

platform :ios do
    desc "My awesome app"
    lane :distribute do
        build_ios_app(...)
        # build_ios_app is a built-in fastlane action.

        firebase_app_distribution(
            app: "1:123456789:android:abcd1234",
            testers: "tester1@company.com, tester2@company.com",
            release_notes: "Lots of amazing new features to test out!"
        )

    end
end

最後,要提供給測試人員構建,運行車道:

fastlane <lane>

分發構建後,它會在 Firebase 控制台的應用分發儀表板中可用 150 天(五個月)。當構建距過期 30 天時,控制台和測試人員在其測試設備上的構建列表中都會顯示過期通知。

誰沒有被邀請來測試應用程序測試人員收到電子郵件邀請上手,而且現有的測試人員收到電子郵件通知,一個新的版本是準備測試(讀取測試儀設立指導如何安裝測試程序的說明)。您可以在 Firebase 控制台中監控每個測試人員的狀態——他們是否接受了邀請以及他們是否下載了應用程序。

測試人員有 30 天的時間接受邀請以在應用程序到期之前對其進行測試。當邀請距到期還有 5 天時,Firebase 控制台中會在發布的測試人員旁邊顯示到期通知。可以通過使用測試人員行上的下拉菜單重新發送邀請來續訂邀請。

第 4 步(可選)。管理分發的測試人員

您可以添加或使用您刪除您的應用程序版本測試Fastfile文件,或通過直接運行FASTLANE行動。跑步動作直接將覆蓋您設置的值Fastfile

將測試人員添加到您的 Firebase 項目後,您可以將其添加到各個版本中。被移除的測試人員將無法再訪問您項目中的版本,但可能仍會在一段時間內保留對您的版本的訪問權限。

使用Fastfile

# Use lanes to add or remove testers from an app release.
lane(:add_testers) do
  firebase_app_distribution_add_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end

lane(:remove_testers) do
  firebase_app_distribution_remove_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers

運行 fastlane 操作

fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"

fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"

您也可以使用指定的測試--file="/path/to/testers.txt而不是--emails

firebase_app_distribution_add_testersfirebase_app_distribution_remove_testers任務也接受以下參數:

  • project_name :您的火力地堡項目編號。
  • service_credentials_file :你的谷歌服務的憑證文件的路徑。
  • firebase_cli_token :驗證令牌火力地堡CLI。

service_credentials_filefirebase_cli_token是由上載動作中使用相同的參數。