使用任何持續整合 (CI) 系統開發應用程式時,您可以使用 Firebase 測試實驗室。持續整合系統可讓您在每次簽入應用程式原始碼的更新時自動建置和測試您的應用程式。
將 Firebase 測試實驗室與 Jenkins CI 結合使用
本節介紹如何將測試實驗室與Jenkins CI結合使用。
要求
在將 Firebase 測試實驗室與 Jenkins 結合使用之前,您需要完成以下步驟:
設定 gcloud。依照從 gcloud 命令列使用 Firebase 測試實驗室中的說明建立 Firebase 專案並配置本機 Google Cloud SDK 環境。
建立並授權服務帳戶。服務帳戶不受垃圾郵件檢查或驗證碼提示的影響,否則可能會阻止您的 CI 建置。在Google Cloud Console中建立一個具有編輯者角色的服務帳號,然後將其啟動(請參閱gcloud auth activate-service-account 文件以了解特定操作方法)。
啟用所需的 API。使用服務帳號登入後: 在Google Developers Console API Library 頁面中,啟用Google Cloud Test 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 儀表板上,按一下管理 Jenkins ,然後按一下設定全域安全性。
- 在「設定全域安全性」頁面上,按一下「啟用安全性」 ,然後按一下「儲存」 。
有關為 Jenkins 配置安全性設定的更多信息,請參閱快速簡單的安全性、標準安全性設定和保護 Jenkins 。
創建詹金斯項目
接下來,建立一個項目,用於使用 Firebase 測試實驗室運行應用程式的持續整合測試。
創建 Jenkins 項目
- 導航到伺服器上的 Jenkins 儀表板。為此,請瀏覽到http://<servername>:8080 ,其中<servername>是安裝 Jenkins 的電腦的名稱。
- 在 Jenkins 儀表板上,按一下新建項目。
- 在項目名稱欄位中輸入項目的名稱:
- 選擇Freestyle 專案來建立使用單一建置配置的專案。
- 選擇“建置多配置專案”以建立在多個不同建置配置上執行的專案。如果您打算使用各種建置配置(多個區域設定、多個 Android API 等級等)建立應用程序,那麼多配置專案是最佳選擇。
- 按一下「儲存」 。
建立專案後,您的 Web 瀏覽器將顯示專案的主頁。
新增修訂控制和 Gradle 建置步驟
本節介紹如何將 Jenkins 與 GitHub 等版本控制系統集成,以及如何新增 Gradle 建置步驟以從原始碼建置 APK 套件。
與 GitHub 和其他版本控制系統集成
如果您使用GitHub 或其他版本控制系統來管理應用程式的原始程式碼,則可以將Jenkins 配置為運行自動構建,並在每次簽入應用程式更新時執行測試。您也可以將Jenkins 配置為定期運行構建。
要了解有關在 Jenkins 中配置建置的信息,請參閱配置自動建置。
新增 Gradle 建置步驟來重建 APK 包
如果您使用修訂控制系統來管理應用程式的原始程式碼,則需要包含 Gradle 建置步驟,以便在每次 Jenkins 從修訂控制系統下載原始程式碼時建立新的 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 建置步驟
- 在項目的主頁上,按一下「配置」 。
在專案設定頁面上,向下捲動到「建置」部分,然後從「新增建置步驟」功能表中選擇「執行 shell」 。
在Jenkins 執行 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 系統結合使用,請查看他們的文件: