W przypadku aplikacji produkcyjnych musisz skonfigurować przejrzysty przepływ pracy deweloperskiej, zwłaszcza jeśli nad aplikacją pracuje więcej niż jedna osoba. Przepływ pracy programistycznej zwykle obejmuje konfigurowanie i zarządzanie wieloma środowiskami.
Firebase ma różne poziomy obsługi przepływów pracy programistów i środowisk składowych. Gdy zapoznasz się z terminami i założeniami dotyczącymi przepływu pracy dla programistów na tej stronie, zapoznaj się z naszymi ogólnymi sprawdzonymi metodami i ogólnymi wskazówkami dotyczącymi zabezpieczeń dotyczących konfigurowania projektu Firebase i aplikacji.
O środowiskach
W tworzeniu oprogramowania środowisko to cały sprzęt i oprogramowanie wymagane do uruchomienia wystąpienia aplikacji lub systemu aplikacji.
Szereg środowisk zapewnia izolację do tworzenia i testowania 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ć tyle środowisk przedprodukcyjnych, ile potrzeba. Diagram opisuje również typowe praktyki i funkcje związane z każdym typem środowiska .
Proces przechodzenia funkcji lub wydania przez te środowiska do produkcyjnego jest nazywany potokiem wdrażania .
Rodzaje środowisk
Środowisko składa się z podstawowej infrastruktury potrzebnej do uruchamiania i obsługi aplikacji, jej kodu i danych. Rozwiń każde 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. W idealnym przypadku każdy programista w Twoim zespole ma dostęp do własnego środowiska deweloperskiego. Ponadto, jeśli środowisko deweloperskie jest instancją lokalną, programista może iterować znacznie szybciej.
Dane w środowisku deweloperskim są zapełniane danymi, które ogólnie przypominają dane produkcyjne, ale nigdy nie powinny zawierać żadnych rzeczywistych danych użytkowników. Może również zawierać dane, które spowodowały błędy w przeszłości, takie jak bardzo długie ciągi.
Jeśli masz testy automatyczne, potrzebujesz środowiska, w którym te testy będą uruchamiane, i musisz resetować dane za każdym razem, gdy uruchamiasz środowisko testowe.
Jeśli masz inżynierów ds. kontroli jakości, mogą potrzebować jednego środowiska, z którego wszyscy korzystają, lub mogą potrzebować indywidualnych środowisk do testowania nowego kandydata do wydania.
Dane w środowiskach testowych i QA są zapełniane danymi jakościowymi, które są ogólnie reprezentatywne dla danych produkcyjnych, wraz z danymi, które reprezentują kluczowe przypadki i przykłady danych, które spowodowały błędy w przeszłości.
Do realistycznych testów działania wersji w środowisku produkcyjnym potrzebne jest środowisko pomostowe, które możliwie jak najwierniej naśladuje infrastrukturę produkcyjną. Często zdarza się, że istnieje wiele instancji przejściowych, jeśli trzeba przetestować konkretne integracje w izolacji.
Oto typowe różnice między inscenizacją a prod:
Inscenizacja może brakować niektórych funkcji lub integracji, które mogą powodować skutki uboczne. Na przykład inscenizacja może być ustawiona tak, aby nie wysyłać wiadomości e-mail.
Inscenizacja może zawierać dane zanonimizowane; dane mogą być fałszywe, ale powinny być realistyczne. Ponieważ przemieszczanie jest miejscem bezpiecznego debugowania problemów, możesz dać zespołowi szerszy dostęp do danych przemieszczania niż do danych produkcyjnych. Tak więc, aby chronić prywatność użytkownika, nie należy używać rzeczywistych danych użytkownika w poczekalni.
Dla każdej utrzymywanej aplikacji potrzebne jest jedno środowisko produkcyjne. To jest instancja, z którą Twoi 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 produkcyjnym są bardzo ważne; utrata lub zmiana danych produktu wpłynie bezpośrednio na użytkowników.
W konsoli Firebase zalecamy otagowanie projektu Firebase powiązanego ze środowiskiem produkcyjnym jako typu środowiska „produkcyjnego” . Ten tag może pomóc Tobie i Twoim kolegom z zespołu, że wszelkie zmiany mogą wpłynąć na powiązane aplikacje produkcyjne i ich dane.
Następne kroki
Zapoznaj się z naszymi ogólnymi sprawdzonymi metodami konfigurowania projektów Firebase. Ten przewodnik zawiera odpowiedzi na pytania dotyczące hierarchii projektów Firebase, rejestrowania wariantów aplikacji i obsługi wielu dzierżawców.
Zapoznaj się z ogólnymi wytycznymi dotyczącymi bezpieczeństwa dla różnych środowisk. Chcesz mieć pewność, że każde środowisko i zawarte w nim dane są bezpieczne.
Przejrzyj listę kontrolną uruchamiania Firebase .