Für Produktions-Apps müssen Sie einen klaren Entwicklungsworkflow einrichten, insbesondere wenn mehr als eine Person an Ihrer App arbeitet. Ein Entwicklungsworkflow umfasst normalerweise das Einrichten und Verwalten mehrerer Umgebungen.
Firebase bietet unterschiedliche Unterstützungsstufen für Entwickler-Workflows und die zugehörigen Umgebungen. Wenn Sie sich mit den Bedingungen und Annahmen zum Entwickler-Workflow auf dieser Seite vertraut gemacht haben, sehen Sie sich unsere allgemeinen Best Practices und allgemeinen Sicherheitsrichtlinien zum Einrichten eines Firebase-Projekts und Ihrer Apps an.
Über Umgebungen
In der Softwareentwicklung ist eine Umgebung die gesamte Hardware und Software, die erforderlich ist, um eine Instanz einer Anwendung oder eines Systems von Anwendungen auszuführen.
Eine Reihe von Umgebungen bietet Isolierung zum Entwickeln und Testen von Software, ohne die Benutzer zu beeinträchtigen. Wie im folgenden Diagramm dargestellt, werden Umgebungen auf hoher Ebene entweder als Vorproduktionsumgebung oder als Produktionsumgebung betrachtet, und Sie können so viele Vorproduktionsumgebungen wie nötig haben. Das Diagramm beschreibt auch gängige Vorgehensweisen und Funktionen, die jedem Umgebungstyp zugeordnet sind.
Der Prozess der Weiterentwicklung eines Features oder Releases durch diese Umgebungen bis zur Produktion wird als Bereitstellungspipeline bezeichnet.
Arten von Umgebungen
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. Erweitern Sie jeden der folgenden Begriffe, um Beschreibungen einiger gängiger Umgebungen zu sehen, einschließlich Tipps zu den Datentypen, die in jedem Umgebungstyp verwendet werden.
Jeder Entwickler braucht eine Entwicklungsumgebung – einen sicheren, isolierten Ort, um Änderungen zu testen, während sie erstellt werden. Im Idealfall 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 gesät, die im Allgemeinen den Produktionsdaten ähneln, aber niemals echte Benutzerdaten enthalten sollten. Es kann auch Daten enthalten, die in der Vergangenheit Fehler verursacht haben, wie z. B. sehr lange Zeichenfolgen.
Wenn Sie über automatisierte Tests verfügen, benötigen Sie eine Umgebung, in der diese Tests ausgeführt werden können, und Sie müssen die Daten jedes Mal zurücksetzen, wenn Sie die Testumgebung hochfahren.
Wenn Sie QA-Ingenieure haben, benötigen diese möglicherweise eine Umgebung, die alle verwenden, oder sie benötigen möglicherweise einzelne Umgebungen, um einen neuen Release Candidate zu testen.
Die Daten in Test- und QA-Umgebungen werden mit Qualitätsdaten gesät, die im Allgemeinen repräsentativ für die Produktionsdaten sind, zusammen mit Daten, die Sonderfälle darstellen, und Beispielen von Daten, die in der Vergangenheit Fehler verursacht haben.
Für realistische Tests, wie ein Release in der Produktion funktionieren wird, 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 Prod:
Beim Staging fehlen möglicherweise einige Funktionen oder Integrationen, die Nebenwirkungen verursachen können. Staging kann beispielsweise so eingestellt werden, dass keine E-Mail gesendet wird.
Staging kann anonymisierte Daten enthalten; Die Daten können gefälscht sein, sollten aber realistisch sein. Da Staging ein Ort zum sicheren Debuggen von Problemen ist, können Sie einem breiteren Team Zugriff auf Staging-Daten als auf Produktionsdaten gewähren. Um die Privatsphäre der Benutzer zu schützen, sollten Sie daher keine tatsächlichen Benutzerdaten beim Staging verwenden.
Für jede Anwendung, die Sie verwalten, benötigen Sie eine einzelne Produktionsumgebung. Dies ist die Instanz, mit der Ihre Benutzer interagieren.
Anders als in anderen Umgebungen, in denen Sie Daten ändern, löschen und/oder neu erstellen können, sind die Daten in Ihrer Produktionsumgebung sehr wichtig. Der Verlust oder die Änderung Ihrer Produktdaten wirkt sich direkt auf Ihre Benutzer aus.
In der Firebase-Konsole empfehlen wir, das mit Ihrer Produktionsumgebung verknüpfte Firebase-Projekt als Umgebungstyp „Produktion“ zu markieren . Dieses Tag kann Sie und Ihre Teamkollegen daran erinnern, dass sich Änderungen auf Ihre zugehörigen Produktions-Apps und deren Daten auswirken können.
Nächste Schritte
Sehen Sie sich unsere allgemeinen Best Practices zum Einrichten von Firebase-Projekten an. Dieser Leitfaden beantwortet Fragen zur Firebase-Projekthierarchie, zur Registrierung Ihrer App-Varianten und zur Mandantenfähigkeit.
Lesen Sie die allgemeinen Sicherheitsrichtlinien für verschiedene Umgebungen. Sie möchten sicherstellen, dass jede Umgebung und ihre Daten sicher sind.
Überprüfen Sie die Firebase-Startcheckliste .