在使用任何持續集成 (CI) 系統開發應用時,您可以使用 Firebase 測試實驗室。每次簽入應用程序源代碼的更新時,持續集成系統可讓您自動構建和測試您的應用程序。
將 Firebase 測試實驗室與 Jenkins CI 結合使用
本節介紹如何將 Test Lab 與Jenkins CI結合使用。
要求
在將 Firebase 測試實驗室與 Jenkins 結合使用之前,您需要完成以下步驟:
設置 gcloud。按照從 gcloud 命令行使用 Firebase 測試實驗室中的說明創建 Firebase 項目並配置本地 Google Cloud SDK 環境。
創建並授權服務帳戶。服務帳戶不受垃圾郵件檢查或驗證碼提示的約束,否則可能會阻止您的 CI 構建。在Google Cloud Console中創建一個具有Editor角色的服務帳戶,然後激活它(請參閱gcloud auth activate-service-account 文檔以了解如何操作)。
啟用所需的 API。使用服務帳號登錄後:在Google Developers Console API Library 頁面中,啟用Google Cloud Testing API和Cloud Tool Results API 。要啟用這些 API,請將這些 API 名稱鍵入控制台頂部的搜索框中,然後在該 API 的概述頁面上單擊啟用 API 。
安裝和設置 Jenkins
您可以在 Linux 或 Windows 上安裝和設置 Jenkins CI。本指南的某些詳細信息特定於在 Linux 上安裝和運行 Jenkins CI,包括在文件路徑中使用斜杠 ( /
)。
要在運行 Linux 或 Windows 的計算機上下載並安裝 Jenkins,請按照安裝 Jenkins上的說明進行操作。安裝 Jenkins 後,按照啟動和訪問 Jenkins中的說明完成設置並訪問 Jenkins 儀表板。
配置全局安全設置
Jenkins在剛安裝的時候沒有配置用戶認證和訪問控制。在將 Jenkins 與 Firebase 測試實驗室結合使用之前,配置全局安全設置以強制執行訪問控制和對用戶進行身份驗證。
配置全局安全設置
- 導航到服務器上的 Jenkins 儀表板。為此,請瀏覽至http://<servername>:8080 ,其中<servername>是您安裝 Jenkins 的計算機的名稱。
- 在 Jenkins 儀表板上,單擊Manage Jenkins ,然後單擊Configure Global Security 。
- 在Configure Global Security頁面上,點擊Enable security ,然後點擊Save 。
有關為 Jenkins 配置安全設置的更多信息,請參閱快速簡單的安全性、標準安全設置和保護 Jenkins 。
創建詹金斯項目
接下來,創建一個項目,用於使用 Firebase 測試實驗室對您的應用程序進行持續集成測試。
創建 Jenkins 項目
- 導航到服務器上的 Jenkins 儀表板。為此,請瀏覽至http://<servername>:8080 ,其中<servername>是您安裝 Jenkins 的計算機的名稱。
- 在 Jenkins 儀表板上,單擊新建項目。
- 在Item name字段中為您的項目輸入一個名稱:
- 選擇Freestyle 項目以創建使用單一構建配置的項目。
- 選擇構建多配置項目以創建在多個不同構建配置上運行的項目。如果您計劃使用多種構建配置(多個語言環境、多個 Android API 級別等)構建您的應用程序,那麼多配置項目是最佳選擇。
- 單擊保存。
創建項目後,Web 瀏覽器會顯示項目的主頁。
添加修訂控制和 Gradle 構建步驟
本節介紹如何將 Jenkins 與 GitHub 等版本控制系統集成,以及如何添加 Gradle 構建步驟以從源代碼構建 APK 包。
與 GitHub 和其他版本控制系統集成
如果您使用 GitHub 或其他版本控制系統來管理應用程序的源代碼,則可以將 Jenkins 配置為運行自動構建並在每次簽入應用程序更新時運行測試。您還可以將 Jenkins 配置為定期運行構建。
要了解如何在 Jenkins 中配置構建,請參閱配置自動構建。
添加 Gradle 構建步驟以重建 APK 包
如果您使用版本控制系統來管理應用程序的源代碼,則每次 Jenkins 從您的版本控制系統下載源代碼時,您都需要包含一個 Gradle 構建步驟來創建新的 APK 二進製文件。
添加構建步驟以在應用程序的主目錄中運行以下命令:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
添加構建步驟以在使用測試實驗室進行測試時使用 Gradle 創建的 APK 包。您可以在下面提供的 shell 腳本示例中使用此路徑作為<local_server_path> ,其中<AppFolder>是您應用的 Android Studio 項目文件夾:
<AppFolder>/app/build/outputs/apk
將測試實驗室構建步驟添加到 Jenkins
現在您已準備好向 Jenkins 添加構建步驟以使用 gcloud 命令行運行測試實驗室。
添加 gcloud 構建步驟
- 在項目的主頁上,單擊Configure 。
在項目配置頁面上,向下滾動到構建部分,然後從添加構建步驟菜單中選擇執行外殼。
在Jenkins Execute shell 命令窗口中,輸入以下內容,將<local_server_path>替換為服務器上示例應用程序的路徑,將<app_apk>替換為您應用程序的 APK,將<app_test_apk>替換為您應用程序的測試 APK:
gcloud firebase test android run --app <local_server_path>/<app_apk>.apk --test <local_server_path>/<app_test_apk>.apk
分析測試結果
在測試實驗室完成對您的應用程序的測試後,您可以在 Firebase 控制台或項目中的Google Cloud Storage存儲桶中查看測試結果。您還可以在上面顯示的 shell 命令中添加gsutil
命令,以將測試結果數據複製到您的本地計算機。要了解更多信息,請參閱分析 Firebase 測試實驗室結果。
與其他 CI 系統的持續集成
要了解如何將 Firebase 測試實驗室與其他 CI 系統一起使用,請查看他們的文檔: