您可以使用 Firebase Test Lab 開發應用程式,並使用任何持續整合 (CI) 系統。持續整合系統可讓您在每次更新應用程式原始程式碼時,自動建構並測試應用程式。
將 Firebase Test Lab 與 Jenkins CI 搭配使用
本節說明如何搭配 Jenkins CI 使用 Test Lab。
需求條件
您必須先完成下列步驟,才能在 Jenkins 中使用 Firebase Test Lab:
設定 gcloud。請按照「透過 gcloud 指令列使用 Firebase Test Lab」一文中的操作說明,建立 Firebase 專案並設定本機 Google Cloud SDK 環境。
建立並授權服務帳戶。服務帳戶不受垃圾訊息檢查或驗證碼提示的限制,否則可能會阻擋 CI 建構作業。在 Google Cloud 控制台中建立具有「編輯者」角色的服務帳戶,然後啟動帳戶 (詳情請參閱 gcloud auth activate-service-account 說明文件)。
啟用必要的 API。使用服務帳戶登入後:在 Google Developers Console API 程式庫頁面中,啟用 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 Test Lab 之前,請先設定全域安全性設定,以便強制執行存取控制和使用者驗證。
如何設定全域安全性設定
- 前往伺服器上的 Jenkins 資訊主頁。如要執行這項操作,請瀏覽 http://<servername>:8080,其中 <servername> 是已安裝 Jenkins 的電腦名稱。
- 在 Jenkins 資訊主頁上,依序按一下「Manage Jenkins」和「Configure Global Security」。
- 在「Configure Global Security」頁面中,按一下「Enable security」,然後點選「Save」。
如要進一步瞭解如何設定 Jenkins 的安全性設定,請參閱「快速簡單的安全性設定」、「標準安全性設定」和「保護 Jenkins」。
建立 Jenkins 專案
接著,請建立專案,以便使用 Firebase Test Lab 為應用程式執行持續整合測試。
建立 Jenkins 專案
- 前往伺服器上的 Jenkins 資訊主頁。如要執行這項操作,請瀏覽 http://<servername>:8080,其中 <servername> 是已安裝 Jenkins 的電腦名稱。
- 在 Jenkins 資訊主頁上,按一下「New Item」。
- 在「Item name」欄位中輸入專案名稱:
- 選擇「Freestyle project」,即可建立使用單一建構設定的專案。
- 選擇「Build multi-configuration project」,即可建立可在多個不同建構設定下執行的專案。如果打算使用各種建構設定 (多種語言代碼、多個 Android API 級別等) 建構應用程式,那麼多重設定專案是最佳選擇。
- 按一下 [儲存]。
專案建立完成後,網頁瀏覽器會顯示專案的主要頁面。
新增修訂版本控制項和 Gradle 建構步驟
本節說明如何將 Jenkins 與 GitHub 等修訂版本控管系統整合,以及如何新增 Gradle 建構步驟,從原始碼建構 APK 套件。
與 GitHub 和其他修訂版本管控系統整合
如果您使用 GitHub 或其他修訂版本控管系統來管理應用程式的原始碼,可以設定 Jenkins,在每次應用程式更新提交時執行自動化建構作業和測試。您也可以設定 Jenkins 定期執行建構作業。
如要瞭解如何在 Jenkins 中設定建構作業,請參閱設定自動建構。
新增 Gradle 建構步驟以重新建構 APK 套件
如果您使用修訂版本控制系統管理應用程式的原始碼,就必須加入 Gradle 建構步驟,以便每次 Jenkins 從修訂版本控制系統下載原始碼時,建立新的 APK 二進位檔。
新增建構步驟,在應用程式的主目錄中執行下列指令:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
新增建構步驟,以便在使用 Test Lab 進行測試時,使用 Gradle 建立的 APK 套件。您可以使用這個路徑做為下方提供的殼層指令碼範例中的 <local_server_path>,其中 <AppFolder> 是應用程式的 Android Studio 專案資料夾:
<AppFolder>/app/build/outputs/apk
將 Test Lab 建構步驟新增至 Jenkins
現在您可以將建構步驟新增至 Jenkins,以使用 gcloud 指令列執行 Test Lab。
如何新增 gcloud 建構步驟
- 在專案的主頁面中,按一下「設定」。
在「專案設定」頁面中,向下捲動至「Build」部分,然後從「Add build step」選單中選擇「Execute 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
分析測試結果
Test Lab 完成應用程式的測試後,您可以在 Firebase 控制台或專案的 Google Cloud Storage 值區中查看測試結果。您也可以在上述殼層指令中加入 gsutil
指令,將測試結果資料複製到本機電腦。詳情請參閱「分析 Firebase Test Lab 結果」。
與其他持續整合系統的持續整合
如要瞭解如何將 Firebase Test Lab 與其他 CI 系統搭配使用,請參閱相關文件: