Inizia a testare con sistemi di integrazione continua (CI)

Puoi utilizzare Firebase Test Lab durante lo sviluppo della tua app con qualsiasi sistema di integrazione continua (CI). I sistemi di integrazione continua ti consentono di compilare e testare automaticamente l'app ogni volta che effettui il check-in degli aggiornamenti del 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 questi passaggi:

  1. Configura gcloud. Segui le istruzioni riportate in Utilizzare 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 account di servizio. I service account non sono soggetti a controlli antispam o richieste di captcha, che potrebbero altrimenti bloccare le compilazioni del CI. Crea un account di servizio con il ruolo Editor nella console Google Cloud e poi attivalo (consulta la documentazione di gcloud auth activate-service-account per scoprire come).

  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 attivare queste API, digita i relativi nomi nella casella di ricerca nella parte superiore della console e poi fai clic su Attiva 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 sistema operativo Linux o Windows, segui le istruzioni riportate nella sezione Installare Jenkins. Dopo aver installato Jenkins, segui le istruzioni su come avviare e accedere a Jenkins per completare la configurazione e accedere alla dashboard di Jenkins.

Configura le impostazioni di sicurezza globali

Jenkins non ha configurato l'autenticazione degli utenti e il controllo dell'accesso alla prima installazione. Prima di utilizzare Jenkins con Firebase Test Lab, configura le impostazioni di sicurezza globale per applicare il controllo dell'accesso e autenticare gli utenti.

Per configurare le impostazioni di sicurezza globali

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

Per ulteriori informazioni sulla configurazione delle impostazioni di sicurezza per Jenkins, consulta Sicurezza rapida e semplice, Configurazione di sicurezza standard e Metti al sicuro 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 server. Per farlo, vai all'indirizzo http://<servername>:8080, dove <servername> è il nome del computer su cui hai installato Jenkins.
  2. Nella dashboard di Jenkins, fai clic su 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 compilazione.
    • Scegli Crea progetto con più configurazioni di compilazione per creare un progetto che viene eseguito su più configurazioni di compilazione diverse. Se prevedi di compilare la tua app con una serie di configurazioni di compilazione (più lingue, più livelli API Android e così via), la scelta migliore è un progetto multi-configurazione.
  4. Fai clic su Salva.

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

Aggiungere il controllo della revisione e i passaggi di creazione di Gradle

Questa sezione descrive come integrare Jenkins con sistemi di controllo delle revisioni come GitHub e come aggiungere i passaggi di build 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 della versione per gestire il codice sorgente della tua app, puoi configurare Jenkins in modo che esegua build automatiche e test ogni volta che vengono controllati gli aggiornamenti dell'app. Puoi anche configurare Jenkins in modo che esegua le build periodicamente.

Per scoprire di più sulla configurazione delle build in Jenkins, vedi Configurare le build automatiche.

Aggiunta di passaggi di compilazione di Gradle per ricostruire i pacchetti APK

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

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

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

  2. Aggiungi un passaggio di compilazione per utilizzare i pacchetti APK creati da Gradle durante i test con Test Lab. Puoi utilizzare questo percorso come <local_server_path> nell'esempio di script shell 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 compilazione a Jenkins

Ora puoi aggiungere un passaggio di compilazione 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 Crea, quindi scegli Esegui shell dal menu Aggiungi passaggio di build.

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

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

Analizzare i risultati dei test

Dopo che Test Lab ha completato i test della tua app, puoi esaminare i risultati dei test nella console Firebase o in un bucket Google Cloud Storage nel tuo progetto. Puoi anche aggiungere un comando gsutil al comando shell mostrato sopra per copiare i dati dei risultati del test sul tuo computer locale. Per scoprire di più, consulta Analisi dei risultati di Firebase Test Lab.

Integrazione continua con altri sistemi CI

Per scoprire come utilizzare Firebase Test Lab con altri sistemi CI, dai un'occhiata alla relativa documentazione: