Per le app di produzione, devi impostare un flusso di lavoro di sviluppo chiaro, soprattutto se più di una persona lavora sulla tua app. Un flusso di lavoro di sviluppo in genere comporta la configurazione e la gestione di più ambienti.
Firebase offre diversi livelli di supporto per i flussi di lavoro degli sviluppatori e gli ambienti costitutivi. Una volta acquisita familiarità con i termini e i presupposti del flusso di lavoro degli sviluppatori in questa pagina, consulta le nostre best practice generali e le linee guida generali sulla sicurezza per la configurazione di un progetto Firebase e delle tue app.
A proposito di ambienti
Nello sviluppo di software, un ambiente è tutto l'hardware e il software necessari per eseguire un'istanza di un'applicazione o un sistema di applicazioni.
Una serie di ambienti fornisce isolamento per lo sviluppo e il test del software senza alcun impatto sugli utenti. Come mostrato nel diagramma seguente, gli ambienti di alto livello sono considerati pre-produzione o produzione ed è possibile avere tutti gli ambienti di pre-produzione necessari. Il diagramma descrive inoltre le pratiche e le caratteristiche comuni associate a ciascun tipo di ambiente .
Il processo di avanzamento di una funzionalità o di un rilascio attraverso questi ambienti fino alla produzione è chiamato pipeline di distribuzione .
Tipi di ambienti
Un ambiente è composto dall'infrastruttura sottostante necessaria per eseguire e supportare l'applicazione, il relativo codice e i relativi dati. Espandi ciascuno dei seguenti termini per esaminare le descrizioni di alcuni ambienti comuni, inclusi suggerimenti sui tipi di dati utilizzati in ciascun tipo di ambiente.
Ogni sviluppatore ha bisogno di un ambiente di sviluppo: un luogo sicuro e isolato in cui testare le modifiche mentre vengono create. Idealmente, ogni sviluppatore del tuo team ha accesso al proprio ambiente di sviluppo. Inoltre, se l'ambiente di sviluppo è un'istanza locale, uno sviluppatore può eseguire l'iterazione molto più velocemente.
I dati in un ambiente di sviluppo vengono seminati con dati che generalmente assomigliano ai dati di produzione, ma non dovrebbero mai contenere dati di utenti reali. Potrebbe anche contenere dati che hanno causato bug in passato, come stringhe molto lunghe.
Se disponi di test automatizzati, hai bisogno di un ambiente in cui eseguire tali test e devi reimpostare i dati ogni volta che avvii l'ambiente di test.
Se disponi di ingegneri del QA, potrebbero aver bisogno di un ambiente utilizzato da tutti oppure potrebbero aver bisogno di ambienti individuali per testare una nuova release candidate.
I dati negli ambienti di test e QA sono arricchiti con dati di qualità che sono generalmente rappresentativi dei dati di produzione, insieme a dati che rappresentano casi limite ed esempi di dati che hanno causato bug in passato.
Per test realistici su come funzionerà una versione in produzione, è necessario un ambiente di staging che imiti il più fedelmente possibile l'infrastruttura di produzione. È normale avere più istanze di gestione temporanea se è necessario testare integrazioni specifiche in isolamento.
Ecco le differenze comuni tra staging e prod:
Nella messa in scena potrebbero mancare alcune funzionalità o integrazioni che potrebbero causare effetti collaterali. Ad esempio, la gestione temporanea potrebbe essere impostata per non inviare e-mail.
Lo staging può avere dati anonimizzati; i dati possono essere falsi, ma dovrebbero essere realistici. Poiché la gestione temporanea è un luogo in cui eseguire il debug sicuro dei problemi, potresti fornire al team un accesso più ampio ai dati di gestione temporanea rispetto ai dati di produzione. Pertanto, per proteggere la privacy dell'utente, non dovresti utilizzare i dati utente effettivi nello staging.
Per ogni applicazione gestita è necessario un unico ambiente di produzione. Questa è l'istanza con cui interagiscono i tuoi utenti.
A differenza degli altri ambienti in cui è possibile modificare, eliminare e/o ricreare i dati, i dati nel tuo ambiente di produzione sono molto importanti; la perdita o l'alterazione dei dati dei tuoi prodotti influirà direttamente sui tuoi utenti.
Nella console Firebase, ti consigliamo di contrassegnare il progetto Firebase associato al tuo ambiente di produzione come tipo di ambiente "produzione" . Questo tag può aiutare a ricordare a te e ai tuoi colleghi che eventuali modifiche potrebbero influire sulle app di produzione associate e sui relativi dati.
Prossimi passi
Consulta le nostre best practice generali per la configurazione di progetti Firebase. Questa guida risponde a domande sulla gerarchia dei progetti Firebase, su come registrare le varianti dell'app e sulla multi-tenancy.
Esaminare le linee guida generali sulla sicurezza per i diversi ambienti. Vuoi assicurarti che ogni ambiente e i relativi dati siano sicuri.
Consulta l' elenco di controllo per il lancio di Firebase .