Questo documento introduce le best practice per l'utilizzo di Firebase App Distribution e fastlane per rendere sostenibili e ripetibili i flussi di lavoro dei test pre-rilascio della tua piattaforma Apple 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 di Firebase e l'API pubblica di distribuzione delle app Firebase per offrirti maggiore flessibilità. Descriviamo anche i limiti di release e tester in modo da poter pianificare in anticipo un'esperienza ottimale.
Se utilizzi anche Android, consulta Best practice per la distribuzione di app Android ai tester QA tramite CI/CD .
Prima di iniziare
Prima di implementare le best practice in questo documento, assicurati di abilitare App Distribution nella console Firebase per ogni app . Se non hai abilitato App Distribution, riceverai un errore 404.
Per abilitare App Distribution, procedi nel seguente modo:
Apri la pagina Distribuzione app nella console Firebase.
Seleziona la tua app per iOS.
Fai clic su Inizia .
Automatizza il flusso di lavoro dei test pre-rilascio utilizzando CI/CD
Se desideri 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.
Usa la corsia preferenziale
Integra App Distribution nella tua pipeline CI/CD utilizzando fastlane, uno strumento open source che automatizza la creazione e il rilascio di app iOS e Android. Creando e distribuendo automaticamente le tue ultime versioni ai tester, assicuri che i tester dispongano sempre della versione di test più aggiornata della tua app.
Per informazioni su come integrare App Distribution con fastlane, consulta Distribuire le app iOS ai tester utilizzando fastlane . Guarda anche un codelab che ti guida attraverso il processo di integrazione fastlane.
Utilizza l'interfaccia a riga di comando di Firebase
Utilizza gli strumenti dell'interfaccia a riga di comando di Firebase forniti da App Distribution per distribuire le build ai tester in modo programmatico. Puoi specificare tester e note di rilascio per una build.
Distribuisci la tua ultima build 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 ulteriori informazioni sull'utilizzo dell'interfaccia a riga di comando di Firebase per automatizzare le build, consulta Distribuzione di app iOS ai tester tramite l'interfaccia a riga di comando di Firebase .
Usa le credenziali del servizio per l'autenticazione
Utilizza il plug-in fastlane di App Distribution o l'interfaccia a riga di comando di Firebase con gli account di servizio, che sfruttano le credenziali predefinite dell'applicazione e ti aiutano a gestire il tuo CI. Un account di servizio è un tipo di account Google che rappresenta le applicazioni anziché gli utenti. Il tuo sistema CI può utilizzare gli account di servizio per eseguire i carichi di lavoro di App Distribution. Per ulteriori informazioni, consulta Autenticazione con un account di servizio .
Se utilizzi la federazione delle identità del carico di lavoro, puoi generare e utilizzare un file di configurazione delle credenziali anziché una chiave dell'account di servizio.
Tieni a mente i limiti di rilascio
App Distribution supporta un massimo di 1.000 versioni per app. Ciò significa che quando superi il limite di rilascio, App Distribution elimina automaticamente le versioni più vecchie al di sopra del limite. Per informazioni su come gestire i limiti di rilascio, vedi Per quanto tempo sono disponibili i rilasci delle app?
Aggiungi lo stesso gruppo di tester a più versioni
Se desideri aggiungere un numero elevato di tester alle tue versioni, utilizza la funzionalità di gestione dei tester in blocco di App Distribution.
Ti consigliamo di utilizzare i gruppi per aggiungere gli stessi tester a più versioni. Un gruppo funge da lista di controllo degli accessi; quando rimuovi un tester da un gruppo, perde l'accesso a tutte le versioni distribuite a quel gruppo. Per ulteriori informazioni, vedi Aggiungere e rimuovere tester da un gruppo .
Se hai molti tester da gestire, puoi aggiungere ed eliminare in blocco tester utilizzando la console Firebase. Per automatizzare l'aggiunta e la rimozione dei tester, utilizza l' interfaccia a riga di comando di Firebase , fastlane o l' API pubblica di distribuzione delle app di Firebase .
Tieni presente i limiti del tester
App Distribution limita il numero di tester che puoi aggiungere a un progetto Firebase o a un gruppo di App Distribution. Quando superi questi limiti, non sarai in grado di distribuire la tua app ad altri tester. Per ulteriori informazioni sui limiti dei tester, vedi Esistono limiti per l'aggiunta di tester alla mia app?
Gestisci e aggiungi automaticamente nuovi dispositivi tester iOS
Per aiutarti a registrare altri dispositivi iOS tester, App Distribution ti aiuta a gestire i tuoi dispositivi iOS tester nell'Apple Developer Portal informandoti sui nuovi dispositivi iOS tester tramite e-mail o file CSV. Per ulteriori informazioni, consulta Importare tester da file CSV . Puoi anche esportare in modo programmatico nuovi dispositivi utilizzando fastlane .
Per informazioni su come configurare un'azione fastlane che estragga automaticamente gli UDID, li aggiunga alla console per sviluppatori Apple, quindi ricostruisca l'app e la distribuisca, vedi Distribuire più velocemente le build iOS pre-release con App Distribution e fastlane .
Consenti ai potenziali tester di registrarsi autonomamente per i test
Per semplificare la distribuzione della tua app a più tester, ti consigliamo di utilizzare i link di invito. Un collegamento di invito è un URL univoco che consente ai tester di inserire i propri indirizzi e-mail 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 interna.
I casi d'uso dei collegamenti di invito includono programmi sperimentali aziendali, organizzazioni con team QA di grandi dimensioni e gruppi di sviluppatori che desiderano che i singoli clienti siano in grado di 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 automaticamente aggiunto alle versioni successive.
Per ulteriori informazioni, 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 e-mail. Per integrare questa notifica, puoi utilizzare le seguenti funzionalità (link di rilascio e avvisi in-app) per assicurarti che i tuoi tester stiano testando la versione specifica dell'app che ti interessa:
Collegamenti di rilascio: utilizzare questa funzione quando si desidera condividere una versione specifica con i tester. Per informazioni su come utilizzare i link di rilascio, vedi Distribuire le app iOS ai tester utilizzando la console Firebase . Questi collegamenti sono disponibili anche con i nostri strumenti Firebase e fastlane da riga di comando (CLI) da utilizzare con i tuoi strumenti di automazione della compilazione.
Avvisi in-app: utilizza questi avvisi quando vuoi assicurarti che i tuoi tester stiano testando l'ultima versione della tua app. Integrando l'SDK iOS di Firebase App Distribution, puoi visualizzare avvisi direttamente all'interno dell'app per i tuoi tester quando sono disponibili nuove build della tua app. Per informazioni su come aggiungere avvisi in-app, vedi Informare i tester sulle nuove build .
Rimuovi automaticamente l'accesso per i tester che lasciano l'azienda
Una volta che il tuo 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: usa il tuo file Fastfile o esegui direttamente azioni fastlane. Per ulteriori informazioni sull'utilizzo di fastlane per rimuovere i tester, consulta Distribuire le app iOS ai tester utilizzando fastlane .
API pubblica di distribuzione delle app Firebase : utilizza l'endpoint
testers.batchRemove
.