Für Produktions-Apps müssen Sie einen klaren Entwicklungs-Workflow einrichten, insbesondere wenn mehrere Personen an Ihrer App arbeiten. Ein Entwicklungs-Workflow umfasst in der Regel das Einrichten und Verwalten mehrerer Umgebungen.
Firebase bietet unterschiedliche Supportstufen für Entwicklerworkflows und die zugehörigen Umgebungen. Wenn Sie mit den Begriffen und Annahmen zum Entwickler-Workflow auf dieser Seite vertraut sind, lesen Sie unsere allgemeinen Best Practices und allgemeinen Sicherheitsrichtlinien zum Einrichten eines Firebase-Projekts und Ihrer Apps.
Informationen zu Umgebungen
In der Softwareentwicklung ist eine Umgebung die gesamte Hardware und Software, die zum Ausführen einer Instanz einer Anwendung oder eines Systems von Anwendungen erforderlich ist.
Eine Reihe von Umgebungen sorgt für die Isolation bei der Entwicklung und beim Testen von Software, ohne dass sich dies auf die Nutzer auswirkt. Wie im Diagramm unten dargestellt, werden Umgebungen auf übergeordneter Ebene entweder als Vorproduktion oder Produktion betrachtet. Sie können so viele Vorproduktionsumgebungen wie nötig haben. Im Diagramm werden auch gängige Praktiken und Funktionen für die einzelnen Umgebungstypen beschrieben.
Der Prozess, bei dem ein Feature oder Release durch diese Umgebungen bis zur Produktion voranschreitet, wird als Bereitstellungspipeline bezeichnet.

Umgebungstypen
Eine Umgebung besteht aus der zugrunde liegenden Infrastruktur, die Sie zum Ausführen und Unterstützen Ihrer Anwendung, ihres Codes und ihrer Daten benötigen. Maximieren Sie die folgenden Begriffe, um Beschreibungen einiger gängiger Umgebungen aufzurufen, einschließlich Tipps zu den Datentypen, die in den einzelnen Umgebungstypen verwendet werden.
Entwicklungsumgebungen (Dev)
Jeder Entwickler benötigt eine Entwicklungsumgebung – einen sicheren, isolierten Ort, an dem Änderungen während der Entwicklung getestet werden können. Idealerweise hat jeder Entwickler in Ihrem Team Zugriff auf seine eigene Entwicklungsumgebung. Wenn die Entwicklungsumgebung eine lokale Instanz ist, kann ein Entwickler außerdem viel schneller iterieren.
Die Daten in einer Entwicklungsumgebung werden mit Daten gefüllt, die im Allgemeinen den Produktionsdaten ähneln, aber niemals Daten echter Nutzer enthalten sollten. Sie kann auch Daten enthalten, die in der Vergangenheit Fehler verursacht haben, z. B. sehr lange Strings.
Test- und QA-Umgebungen
Wenn Sie automatisierte Tests haben, benötigen Sie eine Umgebung, in der diese Tests ausgeführt werden können. Außerdem müssen Sie die Daten jedes Mal zurücksetzen, wenn Sie die Testumgebung erstellen.
Wenn Sie QA-Ingenieure haben, benötigen diese möglicherweise eine Umgebung, die sie alle verwenden, oder sie benötigen einzelne Umgebungen, um einen neuen Releasekandidaten zu testen.
Die Daten in Test- und QA-Umgebungen werden mit Qualitätsdaten gefüllt, die im Allgemeinen repräsentativ für die Produktionsdaten sind, sowie mit Daten, die Grenzfälle und Beispiele für Daten darstellen, die in der Vergangenheit Fehler verursacht haben.
Staging-Umgebungen
Für realistische Tests, wie ein Release in der Produktion funktioniert, benötigen Sie eine Staging-Umgebung, die die Produktionsinfrastruktur so genau wie möglich nachahmt. Es ist üblich, mehrere Staging-Instanzen zu haben, wenn Sie bestimmte Integrationen isoliert testen müssen.
Hier sind häufige Unterschiede zwischen Staging und Produktion:
In der Staging-Umgebung fehlen möglicherweise einige Funktionen oder Integrationen, was zu Nebenwirkungen führen kann. Beispielsweise kann die Staging-Umgebung so konfiguriert sein, dass keine E‑Mails gesendet werden.
In der Staging-Umgebung können anonymisierte Daten vorhanden sein. Die Daten können gefälscht sein, sollten aber realistisch sein. Da die Staging-Umgebung ein Ort ist, an dem Probleme sicher behoben werden können, können Sie dem Team möglicherweise einen umfassenderen Zugriff auf Staging-Daten als auf Produktionsdaten gewähren. Zum Schutz der Privatsphäre der Nutzer sollten Sie in der Staging-Umgebung keine echten Nutzerdaten verwenden.
Produktionsumgebungen (Prod)
Für jede Anwendung, die Sie verwalten, benötigen Sie eine einzelne Produktionsumgebung. Dies ist die Instanz, mit der Ihre Nutzer interagieren.
Im Gegensatz zu den anderen Umgebungen, in denen Sie Daten ändern, löschen und/oder neu erstellen können, sind die Daten in Ihrer Produktionsumgebung sehr wichtig. Wenn Sie Ihre Produktionsdaten verlieren oder ändern, hat dies direkte Auswirkungen auf Ihre Nutzer.
In der Firebase-Konsole empfehlen wir, das Firebase-Projekt, das mit Ihrer Produktionsumgebung verknüpft ist, als Produktionsumgebungstyp zu taggen. Dieses Tag kann Sie und Ihre Teammitglieder daran erinnern, dass sich Änderungen auf die zugehörigen Produktionsanwendungen und deren Daten auswirken können.
Nächste Schritte
Lesen Sie unsere allgemeinen Best Practices zum Einrichten von Firebase-Projekten. In diesem Leitfaden werden Fragen zur Firebase-Hierarchie, zur Registrierung von App-Varianten und zur Mandantenfähigkeit beantwortet.
Lesen Sie die allgemeinen Sicherheitsrichtlinien für verschiedene Umgebungen. Sie möchten sicherstellen, dass jede Umgebung und die darin enthaltenen Daten geschützt sind.
Sehen Sie sich die Checkliste für die Einführung von Firebase an.