Per le app di produzione, devi impostare un flusso di lavoro di sviluppo chiaro, soprattutto se hai più di una persona che 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. Dopo aver acquisito familiarità con i termini e le ipotesi 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 del software, un ambiente è tutto l'hardware e il software necessari per eseguire un'istanza di un'applicazione o di 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 e puoi avere tutti gli ambienti di pre-produzione necessari. Il diagramma descrive anche le pratiche e le caratteristiche comuni associate a ciascun tipo di ambiente .
Il processo di avanzamento di una funzionalità o rilascio attraverso questi ambienti alla produzione è chiamato pipeline di distribuzione .
Tipi di ambienti
Un ambiente è composto dall'infrastruttura sottostante di cui hai bisogno per eseguire e supportare la tua applicazione, il suo codice e i suoi 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 per testare le modifiche durante la creazione. 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ò iterare molto più velocemente.
I dati in un ambiente di sviluppo sono seminati con dati che generalmente assomigliano ai dati di produzione, ma non dovrebbero mai contenere dati di utenti reali. Può anche contenere dati che hanno causato bug in passato, come stringhe molto lunghe.
Se si dispone di test automatizzati, è necessario un ambiente in cui eseguire tali test ed è necessario reimpostare i dati ogni volta che si avvia l'ambiente di test.
Se hai ingegneri QA, potrebbero aver bisogno di un ambiente che tutti usano o potrebbero aver bisogno di ambienti individuali per testare un nuovo candidato alla versione.
I dati negli ambienti di test e QA sono seminati con dati di qualità 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 del funzionamento di una versione in produzione, è necessario un ambiente di gestione temporanea che imiti l'infrastruttura di produzione il più fedelmente possibile. È comune avere più istanze di staging se è necessario testare integrazioni specifiche in isolamento.
Ecco le differenze comuni tra staging e prod:
Nella gestione temporanea potrebbero mancare alcune funzionalità o integrazioni che potrebbero causare effetti collaterali. Ad esempio, la gestione temporanea può essere impostata in modo da non inviare e-mail.
Lo staging può avere dati anonimi; i dati possono essere falsi, ma dovrebbero essere realistici. Poiché lo staging è un luogo in cui eseguire il debug dei problemi in modo sicuro, potresti concedere al team un accesso più ampio ai dati di staging rispetto ai dati di produzione. Quindi, per proteggere la privacy degli utenti, non dovresti utilizzare i dati degli utenti 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 puoi modificare, eliminare e/o ricreare i dati, i dati nel tuo ambiente di produzione sono molto importanti; la perdita o l'alterazione dei dati di prodotto 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 di "produzione" . Questo tag può aiutare a ricordare a te e ai tuoi compagni di squadra che eventuali modifiche potrebbero influire sulle app di produzione associate e sui loro dati.
Prossimi passi
Esamina le nostre best practice generali per la configurazione dei progetti Firebase. Questa guida risponde a domande sulla gerarchia del progetto Firebase, su come registrare le varianti dell'app e sulla multi-tenancy.
Rivedere le linee guida generali sulla sicurezza per i diversi ambienti. Vuoi assicurarti che ogni ambiente e i suoi dati siano protetti.
Esamina l'elenco di controllo per l'avvio di Firebase .