W przypadku aplikacji produkcyjnych należy skonfigurować przejrzysty przepływ pracy programistycznej, zwłaszcza jeśli nad aplikacją pracuje więcej niż jedna osoba. Przepływ pracy programistycznej zwykle obejmuje konfigurowanie wielu środowisk i zarządzanie nimi.
Firebase oferuje różne poziomy wsparcia dla przepływów pracy programistów i środowisk składowych. Po zapoznaniu się z warunkami i założeniami dotyczącymi przepływu pracy dla programistów na tej stronie zapoznaj się z naszymi ogólnymi najlepszymi praktykami i ogólnymi wytycznymi dotyczącymi bezpieczeństwa dotyczącymi konfigurowania projektu Firebase i aplikacji.
O środowiskach
W procesie tworzenia oprogramowania środowisko to cały sprzęt i oprogramowanie wymagane do uruchomienia instancji aplikacji lub systemu aplikacji.
Szereg środowisk zapewnia izolację umożliwiającą tworzenie i testowanie oprogramowania bez wpływu na użytkowników. Jak pokazano na poniższym diagramie, środowiska na wysokim poziomie są uważane za przedprodukcyjne lub produkcyjne i możesz mieć dowolną liczbę środowisk przedprodukcyjnych. Diagram opisuje także typowe praktyki i cechy związane z każdym typem środowiska .
Proces przenoszenia funkcji lub wydania przez te środowiska do wersji produkcyjnej nazywany jest potokiem wdrażania .
Rodzaje środowisk
Środowisko składa się z podstawowej infrastruktury potrzebnej do uruchomienia i obsługi aplikacji, jej kodu i danych. Rozwiń każdy z poniższych terminów, aby przejrzeć opisy niektórych typowych środowisk, w tym wskazówki dotyczące typów danych używanych w każdym typie środowiska.
Każdy programista potrzebuje środowiska programistycznego — bezpiecznego, odizolowanego miejsca do testowania zmian w trakcie ich tworzenia. Idealnie byłoby, gdyby każdy programista w Twoim zespole miał dostęp do własnego środowiska programistycznego. Ponadto, jeśli środowisko deweloperskie jest instancją lokalną, programista może wykonywać iteracje znacznie szybciej.
Dane w środowisku deweloperskim są zaszczepiane danymi, które ogólnie przypominają dane produkcyjne, ale nigdy nie powinny zawierać żadnych danych rzeczywistych użytkowników. Może także zawierać dane, które w przeszłości powodowały błędy, np. bardzo długie ciągi znaków.
Jeśli masz testy automatyczne, potrzebujesz środowiska, w którym można je uruchomić, i musisz zresetować dane za każdym razem, gdy uruchamiasz środowisko testowe.
Jeśli masz inżynierów ds. kontroli jakości, mogą oni potrzebować jednego środowiska, z którego korzystają wszyscy, lub mogą potrzebować oddzielnych środowisk do testowania nowego kandydata do wydania.
Dane w środowiskach testowych i kontroli jakości są zaszczepiane danymi jakościowymi, które są ogólnie reprezentatywne dla danych produkcyjnych, wraz z danymi reprezentującymi przypadki narożne i przykładami danych, które powodowały błędy w przeszłości.
Do realistycznych testów tego, jak wersja będzie działać w środowisku produkcyjnym, potrzebne jest środowisko testowe, które możliwie najdokładniej naśladuje infrastrukturę produkcyjną. Jeśli chcesz przetestować określone integracje w izolacji, często zdarza się, że masz wiele instancji przejściowych.
Oto typowe różnice między stagingiem a prod:
W stagingu może brakować niektórych funkcji lub integracji, które mogą powodować skutki uboczne. Na przykład przemieszczanie może być ustawione tak, aby nie wysyłać wiadomości e-mail.
Staging może zawierać anonimowe dane; dane mogą być fałszywe, ale powinny być realistyczne. Ponieważ przemieszczanie to miejsce, w którym można bezpiecznie debugować problemy, możesz zapewnić szerszemu zespołowi dostęp do danych przejściowych niż do danych produkcyjnych. Aby więc chronić prywatność użytkowników, nie należy używać rzeczywistych danych użytkownika podczas przemieszczania.
Dla każdej utrzymywanej aplikacji potrzebne jest jedno środowisko produkcyjne. Jest to instancja, z którą użytkownicy wchodzą w interakcję.
W przeciwieństwie do innych środowisk, w których można zmieniać, usuwać i/lub odtwarzać dane, dane w środowisku prod są bardzo ważne; utrata lub zmiana danych produktowych będzie miała bezpośredni wpływ na użytkowników.
W konsoli Firebase zalecamy oznaczenie projektu Firebase powiązanego z Twoim środowiskiem produkcyjnym jako typu środowiska „produkcyjnego” . Ten tag może pomóc Tobie i Twoim członkom zespołu przypomnieć, że wszelkie zmiany mogą mieć wpływ na powiązane aplikacje produkcyjne i ich dane.
Następne kroki
Zapoznaj się z naszymi ogólnymi najlepszymi praktykami dotyczącymi konfigurowania projektów Firebase. Ten przewodnik zawiera odpowiedzi na pytania dotyczące hierarchii projektu Firebase, sposobu rejestrowania wariantów aplikacji i obsługi wielu dzierżawców.
Przejrzyj ogólne wytyczne dotyczące bezpieczeństwa dla różnych środowisk. Chcesz mieć pewność, że każde środowisko i znajdujące się w nim dane są bezpieczne.
Przejrzyj listę kontrolną uruchamiania Firebase .