開始使用持續整合 (CI) 系統進行測試

使用任何持續整合 (CI) 系統開發應用程式時,都可以使用 Firebase Test Lab。持續整合系統可讓您在每次更新應用程式原始碼時,自動建構並測試應用程式。

搭配使用 Firebase Test Lab 與 Jenkins CI

本節說明如何搭配使用 Test Lab 與 Jenkins CI。

需求條件

您必須先完成下列步驟,才能搭配使用 Firebase Test Lab 與 Jenkins:

  1. 設定 gcloud。請按照「透過 gcloud 指令列使用 Firebase Test Lab」中的操作說明,建立 Firebase 專案並設定本機 Google Cloud SDK 環境。

  2. 建立並授權服務帳戶。服務帳戶不受垃圾郵件檢查或人機驗證提示的限制,否則可能會封鎖 CI 建構作業。在 Google Cloud 控制台中建立具有編輯者角色的服務帳戶,然後啟用該帳戶 (如要瞭解如何啟用,請參閱 gcloud auth activate-service-account 說明文件)。

  3. 啟用必要的 API。使用服務帳戶登入後,請前往 Google Developers Console API 程式庫頁面,啟用 Google Cloud Testing API 和 Cloud Tool Results API。如要啟用這些 API,請在控制台頂端的搜尋框中輸入 API 名稱,然後在該 API 的總覽頁面上按一下「Enable API」(啟用 API)。

安裝及設定 Jenkins

您可以在 Linux 或 Windows 上安裝及設定 Jenkins CI。本指南的某些細節僅適用於在 Linux 上安裝及執行 Jenkins CI,包括在檔案路徑中使用斜線 (/)。

如要在執行 Linux 或 Windows 的電腦上下載及安裝 Jenkins,請按照「安裝 Jenkins」中的操作說明進行。安裝 Jenkins 後,請按照「啟動及存取 Jenkins」中的操作說明完成設定,並存取 Jenkins 資訊主頁。

設定全域安全性設定

初次安裝 Jenkins 時,並未設定使用者驗證和存取控管功能。搭配使用 Jenkins 和 Firebase Test Lab 前,請先設定全域安全性設定,強制執行存取控管及驗證使用者。

如何設定全域安全性設定

  1. 前往伺服器上的 Jenkins 資訊主頁。如要這麼做,請前往 http://<servername>:8080,其中 <servername> 是安裝 Jenkins 的電腦名稱。
  2. 在 Jenkins 資訊主頁中,依序點選「Manage Jenkins」和「Configure Global Security」。
  3. 在「Configure Global Security」頁面中,依序按一下「Enable security」和「Save」。

如要進一步瞭解如何設定 Jenkins 的安全性設定,請參閱「快速簡單的安全性」、「標準安全性設定」和「保護 Jenkins」。

建立 Jenkins 專案

接著,建立專案,使用 Firebase Test Lab 對應用程式執行持續整合測試。

建立 Jenkins 專案

  1. 前往伺服器上的 Jenkins 資訊主頁。如要這麼做,請前往 http://<servername>:8080,其中 <servername> 是安裝 Jenkins 的電腦名稱。
  2. 在 Jenkins 資訊主頁中,按一下「New Item」。
  3. 在「Item name」(項目名稱) 欄位中輸入專案名稱:
    • 選擇「Freestyle project」,建立使用單一建構設定的專案。
    • 選擇「Build multi-configuration project」,建立在多個不同建構設定上執行的專案。如果您打算使用多種建構設定 (多個語言代碼、多個 Android API 級別等) 建構應用程式,則多設定專案是最佳選擇。
  4. 按一下 [儲存]。

專案建立後,網路瀏覽器會顯示專案的主頁面。

新增修訂版本控制和 Gradle 建構步驟

本節說明如何將 Jenkins 與 GitHub 等修訂版本控制系統整合,以及如何新增 Gradle 建構步驟,以便從原始碼建構 APK 套件。

與 GitHub 和其他修訂版本控制系統整合

如果您使用 GitHub 或其他修訂版本控制系統管理應用程式的原始碼,可以設定 Jenkins,在每次簽入應用程式更新時執行自動建構和測試。您也可以設定 Jenkins 定期執行建構作業。

如要瞭解如何在 Jenkins 中設定建構作業,請參閱「設定自動建構作業」。

新增 Gradle 建構步驟,重新建構 APK 套件

如果您使用修訂版本控制系統管理應用程式的原始碼,則必須加入 Gradle 建構步驟,以便在 Jenkins 每次從修訂版本控制系統下載原始碼時,建立新的 APK 二進位檔。

  1. 新增建構步驟,在應用程式的主目錄中執行下列指令:

    ./gradlew :app:assembleDebug
    ./gradlew :app:assembleDebugAndroidTest
    

  2. 新增建構步驟,以便在使用 Test Lab 測試時,使用 Gradle 建立的 APK 套件。在下方的殼層指令碼範例中,您可以使用這個路徑做為 <local_server_path>,其中 <AppFolder> 是應用程式的 Android Studio 專案資料夾:

    <AppFolder>/app/build/outputs/apk
    

在 Jenkins 中新增 Test Lab 建構步驟

現在,您可以將建構步驟新增至 Jenkins,使用 gcloud 指令列執行 Test Lab。

如要新增 gcloud 建構步驟

  1. 在專案主頁面中,按一下「設定」。
  2. 在「project configuration」(專案設定) 頁面中,向下捲動至「Build」(建構) 區段,然後從「Add build step」(新增建構步驟) 選單中選擇「Execute shell」(執行殼層)。

  3. 在「Jenkins Execute shell command」視窗中輸入下列指令,並將 <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 bucket 中查看測試結果。您也可以在上述殼層指令中加入 gsutil 指令,將測試結果資料複製到本機電腦。詳情請參閱「分析 Firebase Test Lab 結果」。

與其他 CI 系統持續整合

如要瞭解如何搭配其他 CI 系統使用 Firebase Test Lab,請參閱相關說明文件: