使用任何持續整合 (CI) 系統開發應用程式時,都可以使用 Firebase Test Lab。持續整合系統可讓您在每次更新應用程式原始碼時,自動建構並測試應用程式。
將 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」(新增項目)。
- 在「項目名稱」欄位中輸入專案名稱:
- 選擇「自創專案」,建立使用單一建構設定的專案。
- 選擇「Build multi-configuration project」,建立可在多種不同建構設定中執行的專案。如果您打算使用各種建構設定 (多種語言代碼、多個 Android API 級別等) 建構應用程式,那麼多重設定專案就是最佳選擇。
- 按一下 [儲存]。
專案建立完成後,網頁瀏覽器會顯示專案的主頁面。
新增修訂版本控制和 Gradle 建構步驟
本節說明如何整合 Jenkins 與 GitHub 等修訂版本控制系統,以及如何新增 Gradle 建構步驟,從原始碼建構 APK 封裝。
與 GitHub 和其他修訂版本控制系統整合
如果您使用 GitHub 或其他修訂版本控制系統管理應用程式的原始碼,可以設定 Jenkins 在每次更新應用程式時,執行自動建構和測試。您也可以設定 Jenkins 定期執行建構作業。
如要瞭解如何在 Jenkins 中設定建構作業,請參閱「設定自動建構作業」。
新增 Gradle 建構步驟,重新建構 APK 套件
如果您使用修訂版本控制系統管理應用程式的原始碼,每次 Jenkins 從修訂版本控制系統下載原始碼時,您都需要加入 Gradle 建構步驟,建立新的 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 建構步驟
- 在專案的主要頁面中,按一下「設定」。
在「專案設定」頁面中,向下捲動至「建構」部分,然後從「新增建構步驟」選單中選擇「執行 Shell」。
在「Jenkins Execute shell command」(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 結果」。
與其他 CI 系統持續整合
如要瞭解如何將 Firebase Test Lab 與其他 CI 系統搭配使用,請參閱相關說明文件: