Memulai pengujian dengan sistem continuous integration (CI)

Anda bisa menggunakan Firebase Test Lab saat mengembangkan aplikasi menggunakan sistem continuous integration (CI) apa pun. Sistem continuous integration memungkinkan Anda untuk mem-build dan menguji aplikasi secara otomatis setiap kali Anda memperbarui kode sumber aplikasi Anda.

Menggunakan Firebase Test Lab dengan Jenkins CI

Bagian ini menjelaskan cara menggunakan Test Lab dengan Jenkins CI.

Persyaratan

Sebelum Anda dapat menggunakan Firebase Test Lab dengan Jenkins, Anda harus menyelesaikan langkah-langkah berikut:

  1. Menyiapkan gcloud. Ikuti petunjuk dari Menggunakan Firebase Test Lab dari Command Line gcloud untuk membuat project Firebase dan mengonfigurasi lingkungan lokal Google Cloud SDK Anda.

  2. Membuat dan mengotorisasi akun layanan. Pemeriksaan spam atau permintaan captcha tidak berlaku pada akun layanan, sehingga tidak ada risiko build CI Anda terblokir. Buat akun layanan dengan peran Editor di Google Cloud Console, lalu aktifkan (lihat dokumentasi gcloud auth activate-service-account untuk mempelajari caranya).

  3. Aktifkan API yang diperlukan. Setelah login menggunakan akun layanan: Di halaman Library API Google Developers Console, aktifkan Google Cloud Testing API dan Cloud Tool Results API. Untuk mengaktifkan API ini, ketik nama API di kotak penelusuran di bagian atas konsol, lalu klik Aktifkan API di halaman ringkasan untuk API tersebut.

Menginstal dan menyiapkan Jenkins

Anda bisa menginstal dan menyiapkan Jenkins CI pada Linux atau Windows. Rincian tertentu dari panduan ini khusus untuk menginstal dan menjalankan Jenkins CI di Linux, termasuk penggunaan garis miring (/) di jalur file.

Untuk mendownload dan menginstal Jenkins di komputer yang menjalankan Linux atau Windows, ikuti petunjuk Menginstal Jenkins. Setelah menginstal Jenkins, ikuti petunjuk Memulai dan Mengakses Jenkins untuk menyelesaikan penyiapan dan mengakses dasbor Jenkins.

Mengonfigurasi setelan keamanan global

Autentikasi pengguna dan kontrol akses Jenkins belum terkonfigurasi saat pertama diinstal. Sebelum menggunakan Jenkins dengan Firebase Test Lab, konfigurasi setelan keamanan global untuk memberlakukan kontrol akses dan mengautentikasi pengguna.

Mengonfigurasi setelan keamanan global

  1. Buka dasbor Jenkins di server Anda. Untuk melakukannya, akses http://<servername>:8080. <servername> adalah nama komputer tempat Anda menginstal Jenkins.
  2. Di dasbor Jenkins, klik Manage Jenkins, lalu klik Configure Global Security.
  3. Di halaman Configure Global Security, klik Enable security, lalu klik Save.

Untuk mengetahui informasi cara mengonfigurasi setelan keamanan Jenkins lebih lanjut, baca Keamanan yang Cepat dan Mudah, Penyiapan Keamanan Standar, dan Mengamankan Jenkins.

Membuat project Jenkins

Selanjutnya, buat project untuk menjalankan pengujian continuous integration aplikasi Anda dengan Firebase Test Lab.

Untuk membuat project Jenkins

  1. Buka dasbor Jenkins di server Anda. Untuk melakukannya, akses http://<servername>:8080. <servername> adalah nama komputer tempat Anda menginstal Jenkins.
  2. Di dasbor Jenkins, klik New Item.
  3. Masukkan nama untuk project Anda di kolom Item name:
    • Pilih Freestyle project untuk membuat project yang menggunakan konfigurasi build tunggal.
    • Pilih Build multi-configuration project untuk membuat project yang berjalan pada konfigurasi build yang berbeda-beda. Jika Anda berencana mem-build aplikasi dengan berbagai konfigurasi build (beberapa lokalitas, beberapa level Android API, dll.), project multikonfigurasi adalah pilihan terbaik.
  4. Klik Save.

Setelah project dibuat, browser web menampilkan halaman utama untuk project Anda.

Menambahkan kontrol revisi dan langkah-langkah build Gradle

Bagian ini menjelaskan cara mengintegrasikan Jenkins dengan sistem kontrol revisi seperti GitHub, dan cara menambahkan langkah build Gradle untuk mem-build paket APK dari kode sumber.

Mengintegrasikan dengan GitHub dan sistem kontrol revisi lainnya

Jika Anda menggunakan GitHub atau sistem kontrol revisi lainnya untuk mengelola kode sumber untuk aplikasi, Anda dapat mengonfigurasi Jenkins untuk menjalankan build otomatis dan menjalankan pengujian setiap kali update aplikasi Anda masuk. Anda juga bisa mengonfigurasi Jenkins untuk menjalankan build secara periodik.

Untuk mempelajari cara mengonfigurasi build di Jenkins, baca Mengonfigurasi build otomatis.

Menambahkan langkah-langkah build Gradle untuk membangun kembali paket APK

Jika Anda menggunakan sistem kontrol revisi untuk mengelola kode sumber untuk aplikasi, Anda harus menyertakan langkah build Gradle untuk membuat biner APK baru setiap kali Jenkins mendownload kode sumber dari sistem kontrol revisi Anda.

  1. Tambahkan langkah build untuk menjalankan perintah berikut di direktori utama aplikasi Anda:

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

  2. Tambahkan langkah build untuk menggunakan paket APK yang dibuat oleh Gradle saat menguji dengan Test Lab. Anda dapat menggunakan lokasi ini sebagai <local_server_path> pada contoh skrip shell yang diberikan di bawah ini. <AppFolder> adalah folder project Android Studio untuk aplikasi Anda:

    <AppFolder>/app/build/outputs/apk
    

Menambahkan langkah build Test Lab ke Jenkins

Sekarang Anda siap menambahkan langkah build ke Jenkins untuk menjalankan Test Lab menggunakan command line gcloud.

Untuk menambahkan langkah build gcloud

  1. Dari halaman utama project Anda, klik Configure.
  2. Di halaman project configuration, scroll ke bawah ke bagian Build, lalu pilih Execute shell dari menu Add build step.

  3. Di jendela Jenkins Execute shell command masukkan baris berikut, yang menggantikan <local_server_path> untuk jalur ke aplikasi contoh di server, <app_apk> untuk APK aplikasi Anda, dan <app_test_apk> untuk APK pengujian aplikasi Anda:

    gcloud firebase test android run --app <local_server_path>/<app_apk>.apk
    --test <local_server_path>/<app_test_apk>.apk
    

Menganalisis hasil pengujian

Setelah Test Lab selesai menguji aplikasi, Anda dapat meninjau hasil pengujian di Firebase console atau di bucket Google Cloud Storage di project Anda. Anda juga dapat menambahkan perintah gsutil ke perintah shell yang ditampilkan di atas untuk menyalin data hasil pengujian ke komputer lokal. Untuk mempelajari lebih lanjut, baca Menganalisis Hasil Firebase Test Lab.

Continuous integration dengan sistem CI lainnya

Untuk mempelajari cara menggunakan Firebase Test Lab dengan sistem CI lainnya, baca dokumen masing-masing sistem: