Best practice per la distribuzione di app Apple ai tester QA utilizzando CI/CD e Fastlane

Questo documento presenta le best practice per l'utilizzo di Firebase App Distribution e fastlane per rendere i flussi di lavoro di test pre-release della piattaforma Apple sostenibili e ripetibili in un ambiente CI/CD. Sebbene questo documento si concentri su fastlane, descriviamo anche le soluzioni disponibili tramite la console Firebase, l'interfaccia a riga di comando Firebase e l'API Firebase App Distribution pubblica per offrirti maggiore flessibilità. Descriviamo anche i limiti relativi alle release e ai tester, in modo che tu possa pianificare in anticipo per un'esperienza ottimale.

Se utilizzi anche Android, consulta Best practice per la distribuzione di app per Android ai tester QA utilizzando CI/CD.

Prima di iniziare

Prima di implementare le best practice descritte in questo documento, assicurati di attivare App Distribution nella console Firebase per ogni app. Se non hai attivato App Distribution, riceverai un errore 404.

Per attivare App Distribution, segui questi passaggi:

  1. Apri la pagina App Distribution nella console Firebase.

  2. Seleziona la tua app per iOS.

  3. Fai clic su Inizia.

Automatizza il workflow di test pre-release utilizzando 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. Un'altra opzione è utilizzare l'interfaccia a riga di comando di Firebase, che ti consente di accedere a un'ampia gamma di prodotti Firebase.

Utilizza 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. Creando e distribuendo automaticamente le tue release più recenti ai tester, ti assicuri che abbiano sempre la versione di test più aggiornata della tua app.

Per scoprire come integrare App Distribution con fastlane, consulta Distribuisci app per iOS ai tester utilizzando fastlane. Consulta anche un codelab che ti guida nella procedura di integrazione di fastlane.

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 l'ultima build per iOS test.ipa specificando l'ID app Firebase dell'app, aggiungendo facoltativamente una nota di rilascio e un file contenente le email dei tester:

firebase appdistribution:distribute test.ipa  \
    --app 1:1234567890:ios: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 Distribuisci app per iOS ai tester utilizzando l'interfaccia a riga di comando Firebase.

Utilizza le credenziali di servizio per l'autenticazione

Utilizza il plug-in fastlane App Distribution o l'interfaccia a riga di comando Firebase con i service account, che sfruttano le Credenziali predefinite dell'applicazione e ti aiutano a gestire l'integrazione continua. Un service account è un tipo di Account Google che rappresenta le applicazioni anziché gli utenti. Il tuo sistema CI può utilizzare i service account per eseguire i tuoi workload App Distribution. Per saperne di più, consulta Esegui l'autenticazione con un service account.

Se utilizzi la federazione delle identità per i workload, puoi generare e utilizzare un file di configurazione delle credenziali anziché una chiave del service account.

Tieni presente i limiti di release

App Distribution supporta un massimo di 1000 release per app. Ciò significa che quando superi il limite di release, App Distribution elimina automaticamente le release meno recenti che superano il limite. Per scoprire come gestire i limiti di release, consulta Per quanto tempo sono disponibili le release delle app?

Aggiungi lo stesso gruppo di tester a più release

Se vuoi aggiungere un numero elevato di tester alle tue release, utilizza la funzionalità di gestione dei tester collettiva 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, questo perde l'accesso a tutte le release distribuite a quel gruppo. Per scoprire di più, consulta Aggiungi e rimuovi tester da un gruppo.

Se hai molti tester da gestire, puoi aggiungerli ed eliminarli collettivamente utilizzando la console Firebase. Per automatizzare l'aggiunta e la rimozione dei tester, utilizza l'interfaccia a riga di comando Firebase, fastlane o l'API Firebase App Distribution pubblica.

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 dei tester, consulta la pagina Esistono limiti per l'aggiunta di tester alla mia app?

Gestisci e aggiungi automaticamente nuovi dispositivi di test iOS

Per aiutarti a registrare altri dispositivi iOS di test, App Distribution ti aiuta a gestire i tuoi dispositivi iOS di test nel portale per sviluppatori Apple informandoti sui nuovi dispositivi iOS di test tramite email o file CSV. Per scoprire di più, consulta Importa i tester dai file CSV. Puoi anche esportare nuovi dispositivi in modo programmatico utilizzando fastlane.

Per scoprire come configurare un'azione fastlane che estrae automaticamente gli UDID, li aggiunge alla console per sviluppatori Apple, quindi ricrea l'app e la distribuisce, consulta Distribuisci più velocemente le build iOS pre-release con App Distribution e fastlane.

Consentire ai potenziali tester di registrarsi autonomamente per i test

Per semplificare la distribuzione della tua app a un numero maggiore 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 dell'app è un modo semplice per aumentare la tua base di test interni.

I casi d'uso dei link di invito includono programmi di dogfooding aziendali, organizzazioni con team di QA di grandi dimensioni e 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 Crea link di invito e Aggiungi e rimuovi 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. Per integrare questa notifica, puoi utilizzare le seguenti funzionalità, ovvero i link alla release e gli avvisi in-app, per assicurarti che i tester testino la versione specifica dell'app che ti interessa:

  • Link alle release:utilizza questa funzionalità quando vuoi condividere una versione specifica con i tester. Per scoprire come utilizzare i link alle release, consulta Distribuisci app per iOS ai tester utilizzando la console Firebase. Questi link sono disponibili anche con i nostri strumenti a riga di comando (CLI) Firebase e fastlane da utilizzare con i tuoi strumenti di automazione della build.

  • Avvisi in-app: utilizza questi avvisi quando vuoi assicurarti che i tuoi tester stiano testando l'ultima versione della tua app. Integrando l'SDK Firebase App Distribution per iOS, puoi mostrare ai tester avvisi direttamente all'interno dell'app quando sono disponibili nuove build dell'app. Per scoprire come aggiungere avvisi in-app, consulta Invia notifiche ai tester sulle nuove build.

Rimuovi automaticamente l'accesso per i tester che lasciano l'azienda

Una volta che il flusso di test interno CI/CD è attivo e funzionante, devi assicurarti che le persone che lasciano l'azienda non abbiano più accesso alle build interne. Per aiutarti a gestire l'accesso dei tester alle build, App Distribution offre le seguenti opzioni: