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 將 Android 應用分發給測試人員

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

在你開始之前

如果你還沒有,添加火力地堡到您的Android項目

如果您沒有使用任何其他 Firebase 產品,您只需創建一個項目並註冊您的應用程序。但是,如果您決定將來使用其他產品,請務必完成上面鏈接頁面上的所有步驟。

步驟 1. 設置 fastlane

  1. 安裝和設置FASTLANE

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

    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

    要求:你的應用程序的火力地堡的App ID。你可以找到在火力地堡控制台應用程序ID,則在常規設置頁面

    app: "1:1234567890:android:0a1b2c3d4e5f67890"
    firebase_cli_token

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

    service_credentials_file

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

    android_artifact_type

    指定 Android 文件類型(APK 或 AAB)。

    android_artifact_path

    替代對象apk_path (不推薦)。您要上傳的 APK 或 AAB 文件的絕對路徑。如果未指定,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 :android do
    desc "My awesome app"
    lane :distribute do
        build_android_app(...)
        # build_android_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是由上載動作中使用相同的參數。