Présentation des environnements

Pour les applications de production, vous devez configurer un workflow de développement clair, en particulier si plusieurs personnes travaillent sur votre application. Un workflow de développement implique généralement de configurer et de gérer plusieurs environnements.

Firebase offre différents niveaux d'assistance pour les workflows de développement et les environnements publics. Une fois que vous avez pris connaissance des termes et des hypothèses du workflow de développement sur cette page, consultez nos bonnes pratiques générales et nos consignes générales de sécurité pour configurer un projet Firebase et vos applications.

À propos des environnements

Dans le développement logiciel, un environnement regroupe l'ensemble des composants matériels et logiciels nécessaires à l'exécution d'une instance d'une application ou d'un système applications.

Une série d'environnements assure l'isolation pour le développement et le test de logiciels sans affecter les utilisateurs. Comme le montre le schéma ci-dessous, les environnements sont considérés comme étant en préproduction ou en production. disposent d'autant d'environnements de préproduction que nécessaire. Le schéma décrit également des pratiques et des fonctionnalités courantes associées type d'environnement.

Le processus de progression d'une fonctionnalité ou d'une version à travers ces environnements jusqu'à la production est appelé pipeline de déploiement.

Schéma illustrant les environnements qui constituent généralement le pipeline de déploiement, y compris le développement, les tests et le contrôle qualité, la préproduction et, enfin, la production

Types d'environnements

Un environnement est composé de l'infrastructure sous-jacente dont vous avez besoin pour exécuter et prendre en charge votre application, son code et ses données. Développez chacun des pour examiner les descriptions de certains environnements courants, y compris sur les types de données utilisés dans chaque type d'environnement.

Chaque développeur a besoin d'un environnement de développement, un espace sûr et isolé pour tester les modifications au fur et à mesure de leur création. Idéalement, chaque développeur de votre équipe a accès à leur propre environnement de développement. De plus, si l'environnement de développement est une instance locale, un développeur peut itérer beaucoup plus rapidement.

Les données d'un environnement de développement sont initialisées avec des données qui ressemblent généralement aux données de production, mais ne doivent jamais contenir de données d'utilisateurs réels. Il peut aussi contiennent des données qui ont causé des bogues dans le passé, comme des chaînes très longues.

Si vous disposez de tests automatisés, vous avez besoin d'un environnement dans lequel les exécuter et vous devez réinitialiser les données chaque fois que vous lancez le test environnement.

Si vous avez des ingénieurs de contrôle qualité, ils auront peut-être besoin d'un environnement qu'ils utilisent tous ils peuvent avoir besoin d'environnements individuels pour tester une nouvelle version candidate.

Dans les environnements de test et de contrôle qualité, les données sont de bonne qualité généralement représentatives des données de production, ainsi que des données qui représentent des cas critiques et des exemples de données qui ont causé des bugs dans le passé.

Pour tester de manière réaliste le fonctionnement d'une version en production, vous avez besoin d'un environnement de préproduction qui imite l'infrastructure de production le plus fidèlement possible. Il est Il est fréquent d'avoir plusieurs instances de préproduction si vous devez tester des de façon isolée.

Voici les principales différences entre la préproduction et la production:

  • Il est possible qu'il manque des fonctionnalités ou intégrations qui pourraient entraîner des problèmes les effets. Par exemple, la préproduction peut être définie pour ne pas envoyer d'e-mail.

  • La mise en préproduction peut contenir des données anonymisées ; les données peuvent être falsifiées, mais elles doivent être réaliste. Étant donné que la préproduction permet de déboguer les problèmes en toute sécurité, vous pouvez accorder aux données de préproduction que les données de production. Pour protéger les utilisateurs la confidentialité, vous ne devez pas utiliser les données utilisateur réelles lors de la préproduction.

Pour chaque application que vous gérez, vous n'avez besoin que d'une seule ressource de production environnement. Il s'agit de l'instance avec laquelle vos utilisateurs interagissent.

Contrairement aux autres environnements dans lesquels vous pouvez modifier, supprimer et/ou recréer des données, les données de votre environnement de production sont très importantes. La perte ou la modification de vos données de production affectera directement vos utilisateurs.

Dans la console Firebase, nous vous recommandons d'ajouter des tags au projet Firebase associé avec votre environnement de production "production" type d'environnement. Ce tag peut vous rappeler, à vous et à vos collègues, que tout changement peut affecter vos les applications de production associées et leurs données.

Étapes suivantes