Inizia a testare con sistemi di integrazione continua (CI)

Puoi utilizzare Firebase Test Lab durante lo sviluppo dell'app utilizzando qualsiasi sistema di integrazione continua (CI). I sistemi di integrazione continua consentono di creare e testare automaticamente l'app ogni volta che esegui il check-in degli aggiornamenti al codice sorgente dell'app.

Utilizzo di Firebase Test Lab con Jenkins CI

Questa sezione descrive come utilizzare Test Lab con Jenkins CI.

Requisiti

Prima di poter utilizzare Firebase Test Lab con Jenkins, devi completare i seguenti passaggi:

  1. Configura gcloud. Segui le istruzioni riportate in Utilizzo di Firebase Test Lab dalla riga di comando gcloud per creare un progetto Firebase e configurare l'ambiente SDK Google Cloud locale.

  2. Crea e autorizza un service account. I service account non sono soggetti a controlli antispam o richieste di captcha, che altrimenti potrebbero bloccare le tue build CI. Crea un service account con il ruolo Editor nella console Google Cloud e poi attivalo (consulta la documentazione di gcloud auth activate-service-account per scoprire come fare).

  3. Abilita le API richieste. Dopo aver eseguito l'accesso utilizzando l'account di servizio: nella pagina della libreria API di Google Developers Console, abilita l'API Google Cloud Testing e l'API Cloud Tool Results. Per abilitare queste API, digita i relativi nomi nella casella di ricerca nella parte superiore della console, quindi fai clic su Abilita API nella pagina di panoramica dell'API.

Installa e configura Jenkins

Puoi installare e configurare Jenkins CI su Linux o Windows. Alcuni dettagli di questa guida sono specifici per l'installazione e l'esecuzione di Jenkins CI su Linux, incluso l'utilizzo di barre (/) nei percorsi dei file.

Per scaricare e installare Jenkins su un computer con Linux o Windows, segui le istruzioni riportate in Installazione di Jenkins. Dopo aver installato Jenkins, segui le istruzioni riportate in Avvio e accesso a Jenkins per completare la configurazione e accedere alla dashboard di Jenkins.

Configurare le impostazioni di sicurezza globali

Quando viene installato per la prima volta, Jenkins non ha configurato l'autenticazione utente e il controllo dell'accesso. Prima di utilizzare Jenkins con Firebase Test Lab, configura le impostazioni di sicurezza globali per applicare il controllo dell'accesso e autenticare gli utenti.

Per configurare le impostazioni di sicurezza globali

  1. Vai alla dashboard di Jenkins sul tuo server. Per farlo, vai su http://<servername>:8080, dove <servername> è il nome del computer su cui hai installato Jenkins.
  2. Nella dashboard di Jenkins, fai clic su Manage Jenkins (Gestisci Jenkins), quindi su Configure Global Security (Configura sicurezza globale).
  3. Nella pagina Configura sicurezza globale, fai clic su Attiva sicurezza e poi su Salva.

Per ulteriori informazioni sulla configurazione delle impostazioni di sicurezza per Jenkins, vedi Quick and Simple Security, Standard Security Setup e Securing Jenkins.

Crea un progetto Jenkins

Successivamente, crea un progetto per eseguire test di integrazione continua della tua app con Firebase Test Lab.

Per creare un progetto Jenkins

  1. Vai alla dashboard di Jenkins sul tuo server. Per farlo, vai su http://<servername>:8080, dove <servername> è il nome del computer su cui hai installato Jenkins.
  2. Nella dashboard di Jenkins, fai clic su New Item (Nuovo elemento).
  3. Digita un nome per il progetto nel campo Nome elemento:
    • Scegli Progetto freestyle per creare un progetto che utilizza una singola configurazione di build.
    • Scegli Crea progetto con più configurazioni per creare un progetto che venga eseguito su più configurazioni di build diverse. Se prevedi di creare la tua app con una serie di configurazioni di build (più impostazioni internazionali, più livelli API Android e così via), un progetto con più configurazioni è la scelta migliore.
  4. Fai clic su Salva.

Una volta creato il progetto, il browser web visualizza la pagina principale del progetto.

Aggiungere il controllo delle revisioni e i passaggi di compilazione Gradle

Questa sezione descrive come integrare Jenkins con i sistemi di controllo delle revisioni come GitHub e come aggiungere passaggi di compilazione Gradle per creare pacchetti APK dal codice sorgente.

Integrazione con GitHub e altri sistemi di controllo della revisione

Se utilizzi GitHub o un altro sistema di controllo delle revisioni per gestire il codice sorgente della tua app, puoi configurare Jenkins per eseguire build automatizzate ed eseguire test ogni volta che vengono registrati aggiornamenti alla tua app. Puoi anche configurare Jenkins per eseguire le build periodicamente.

Per informazioni sulla configurazione delle build in Jenkins, consulta Configurazione delle build automatiche.

Aggiunta di passaggi di build Gradle per ricompilare i pacchetti APK

Se utilizzi un sistema di controllo delle revisioni per gestire il codice sorgente della tua app, devi includere un passaggio di build Gradle per creare nuovi file binari APK ogni volta che Jenkins scarica il codice sorgente dal sistema di controllo delle revisioni.

  1. Aggiungi un passaggio di build per eseguire i seguenti comandi nella directory principale della tua applicazione:

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

  2. Aggiungi un passaggio di build per utilizzare i pacchetti APK creati da Gradle durante il test con Test Lab. Puoi utilizzare questo percorso come <local_server_path> nello script shell di esempio fornito di seguito, dove <AppFolder> è la cartella del progetto Android Studio per la tua app:

    <AppFolder>/app/build/outputs/apk
    

Aggiungi Test Lab passaggi di build a Jenkins

Ora puoi aggiungere un passaggio di build a Jenkins per eseguire Test Lab utilizzando la riga di comando gcloud.

Per aggiungere un passaggio di build gcloud

  1. Nella pagina principale del progetto, fai clic su Configura.
  2. Nella pagina Configurazione progetto, scorri verso il basso fino alla sezione Build (Compila), quindi scegli Execute shell (Esegui shell) dal menu Add build step (Aggiungi passaggio di compilazione).

  3. Nella finestra Jenkins Execute shell command, inserisci quanto segue, sostituendo <local_server_path> con il percorso dell'app di esempio sul server, <app_apk> con l'APK della tua app e <app_test_apk> con l'APK di test della tua app:

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

Analizzare i risultati del test

Al termine del test dell'app da parte di Test Lab, puoi esaminare i risultati del test nella console Firebase o in un bucket Google Cloud Storage del tuo progetto. Puoi anche aggiungere un comando gsutil al comando della shell mostrato sopra per copiare i dati dei risultati del test sul tuo computer locale. Per saperne di più, consulta la sezione Analizzare i risultati di Firebase Test Lab.

Integrazione continua con altri sistemi CI

Per scoprire come utilizzare Firebase Test Lab con altri sistemi CI, consulta la documentazione: