Questo documento illustra le best practice per l'utilizzo di Firebase App Distribution per rendere sostenibili e ripetibili i flussi di lavoro di test pre-release di Android in un ambiente CI/CD. Le soluzioni includono Gradle e fastlane, ma per offrirti ancora più flessibilità includiamo anche le soluzioni disponibili tramite la console Firebase, l'interfaccia a riga di comando Firebase e l'API Firebase App Distribution pubblica. Descrivi inoltre i limiti di rilascio e di tester per consentirti di pianificare in anticipo un'esperienza ottimale.
Se utilizzi anche piattaforme Apple, consulta le best practice per la distribuzione di app Apple ai tester del QA utilizzando CI/CD e fastlane.
Prima di iniziare
Prima di implementare le best practice riportate in questo documento, assicurati di attivare App Distribution nella console Firebase per ogni app. Se non hai attivato App Distribution, verrà visualizzato un errore 404.
Per attivare App Distribution:
- Apri la pagina App Distribution nella console Firebase.
- Seleziona la tua app per Android.
- Fai clic su Inizia.
Poiché gli Android App Bundle (AAB) stanno diventando il formato del pacchetto Android più comune, ti consigliamo di configurare la possibilità di distribuire gli AAB ai tuoi tester collegandoti a Google Play.
Automatizzare il flusso di lavoro di test di pre-release utilizzando una pipeline CI/CD
Se vuoi automatizzare la creazione e il rilascio di app per i tuoi tester e utilizzi CI/CD, ti consigliamo di utilizzare fastlane o Gradle. Un'altra opzione è utilizzare l'interfaccia a riga di comando Firebase, che consente di accedere a un'ampia gamma di prodotti Firebase.
Usare fastlane
Integra App Distribution nella tua pipeline CI/CD utilizzando fastlane, uno strumento open source che automatizza la creazione e il rilascio di app per iOS e Android. Se crei e distribuisci automaticamente le release più recenti ai tester, hai la certezza che abbiano sempre la versione di test più aggiornata della tua app.
Per scoprire come integrare App Distribution con fastlane, consulta Distribuire app per Android ai tester utilizzando fastlane.
Utilizzare Gradle
Utilizza Gradle per integrare App Distribution nel processo di compilazione Android utilizzando il plug-in Gradle App Distribution. Il plug-in consente di specificare i tester e le note di rilascio nel file build.gradle
dell'app, il che consente di configurare le distribuzioni per diversi tipi di build e varianti dell'app.
Per scoprire come integrare App Distribution con Gradle, vedi Distribuire app per Android ai tester utilizzando Gradle.
Utilizza l'interfaccia a riga di comando Firebase
Utilizza gli strumenti dell'interfaccia a riga di comando Firebase forniti da App Distribution per distribuire le build ai tester in modo programmatico. Puoi specificare i tester e le note di rilascio per una build.
Distribuisci la build Android più recente specificando l'ID app Firebase dell'app, optionally adding a release note and a file containing testers' emails:
firebase appdistribution:distribute test.aab \
--app 1:1234567890:android:0a1b2c3d4e5f67890 \
--release-notes "Bug fixes and improvements" --testers-file testers.txt
Per scoprire di più sull'utilizzo dell'interfaccia a riga di comando Firebase per automatizzare le build, consulta Distribuire app per Android ai tester utilizzando l'interfaccia a riga di comando Firebase.
Utilizzare le credenziali del servizio per l'autenticazione
Utilizza il plug-in fastlane di App Distribution, il plug-in Gradle o la CLI Firebase con gli account di servizio. Un account di servizio è un tipo di Account Google che rappresenta le applicazioni (a differenza degli utenti). Il sistema CI può utilizzare gli account di servizio per eseguire i carichi di lavoro App Distribution. Per scoprire di più, consulta Autenticarsi con un account di servizio.
Se utilizzi la federazione delle identità per i carichi di lavoro, puoi generare e utilizzare un file di configurazione delle credenziali invece di una chiave dell'account di servizio.
Tieni presente i limiti di uscita
App Distribution supporta un massimo di 1000 release per app. Ciò significa che, se superi il limite di release, App Distribution elimina automaticamente le release meno recenti che superano il limite. Per informazioni su come gestire i limiti di release, consulta Per quanto tempo sono disponibili le release dell'app?
Aggiungere lo stesso gruppo di tester a più release
Se vuoi aggiungere un numero elevato di tester alle tue release, utilizza la funzionalità di gestione collettiva dei tester di App Distribution.
Ti consigliamo di utilizzare i gruppi per aggiungere gli stessi tester a più release. Un gruppo funge da elenco di controllo dell'accesso. Quando rimuovi un tester da un gruppo, quest'ultimo perde l'accesso a tutte le release distribuite al gruppo. Per scoprire di più, vedi Aggiungere e rimuovere tester da un gruppo.
Se hai molti tester da gestire, puoi aggiungere ed eliminare in blocco i tester utilizzando la console Firebase. Per automatizzare l'aggiunta e la rimozione dei tester, utilizza l'interfaccia a riga di comando di Firebase, la Fastlane, Gradle o l'API pubblica App Distribution.
Tieni presente i limiti dei tester
App Distribution limita il numero di tester che puoi aggiungere a un progetto Firebase o a un gruppo App Distribution. Se superi questi limiti, non potrai distribuire la tua app ad altri tester. Per scoprire di più sui limiti per i tester, consulta Esistono limiti per l'aggiunta di tester alla mia app?
Consentire ai potenziali tester di registrarsi autonomamente per i test
Per distribuire più facilmente la tua app a un maggior numero di tester, ti consigliamo di utilizzare i link di invito. Un link di invito è un URL univoco che consente ai tester di inserire i propri indirizzi email per registrarsi e testare un'app. Consentire agli utenti di aggiungersi al tuo elenco di tester di app è un modo semplice per aumentare la tua base di test interni.
I casi d'uso dei link di invito includono i programmi dogfood aziendali, le organizzazioni con grandi team di QA e i gruppi di sviluppatori che vogliono che i singoli clienti possano controllare l'accesso dei tester.
Ti consigliamo di creare un link di invito per un gruppo. Qualsiasi tester che si registra utilizzando il link di invito viene aggiunto automaticamente alle release successive.
Per scoprire di più, consulta Creare link di invito e Aggiungere e rimuovere tester da un gruppo.
Assicurati che i tester stiano testando la versione che ti interessa
Quando viene caricata una nuova versione, i tester ricevono una notifica via email. A integrare questa notifica, puoi usare le seguenti funzionalità, link di release e avvisi in-app, per assicurarti che i tester stiano testando la versione specifica dell'app che ti interessa:
- Link di rilascio: utilizza questa funzionalità quando vuoi condividere una versione specifica con i tester. Per scoprire come utilizzare i link di rilascio, consulta Distribuire app per Android ai tester utilizzando la console Firebase. Questi link sono disponibili anche con i nostri strumenti a riga di comando (CLI) Firebase, fastlane e Gradle per l'utilizzo con gli strumenti di automazione della compilazione.
- Avvisi in-app: utilizza questi avvisi quando vuoi assicurarti che i tester stiano testando l'ultima versione della tua app. Se integri l'SDK Firebase App Distribution per Android, puoi mostrare ai tester degli avvisi direttamente all'interno dell'app quando sono disponibili nuove build dell'app. Per scoprire come aggiungere avvisi in-app, consulta Avvisare i tester delle nuove build.
Rimuovere automaticamente l'accesso dei tester che lasciano l'azienda
Quando il flusso di test interno CI/CD è attivo e funzionante, devi assicurarti che le persone che lasciano l'azienda non abbiano più accesso alle tue build interne. Per aiutarti a gestire l'accesso dei tester alle build, App Distribution offre le seguenti opzioni:
- fastlane: utilizza il file Fastfile o esegui direttamente le azioni Fastlane. Per scoprire di più, vedi Distribuire app Android ai tester tramite Fastlane.
- Interfaccia a riga di comando Firebase: utilizza l'azione
firebase appdistribution:testers:remove
. Per scoprire di più, consulta Distribuire app per Android ai tester utilizzando l'interfaccia a riga di comando Firebase. - Gradle: se utilizzi Gradle per rimuovere i tester, passa
appDistributionRemoveTesters
con gli argomenti
e--PROJECT_NUMBER
nel file--EMAILS build.gradle
. Per scoprire di più, consulta Distribuire app per Android ai tester utilizzando Gradle. - API App Distribution Firebase pubblica:
Utilizza l'endpoint
testers.batchRemove
.