對於生產應用程序,您需要建立一個清晰的開發工作流程,特別是當您有多個人在開發您的應用程式時。開發工作流程通常涉及設定和管理多個環境。
Firebase 對開發人員工作流程和組成環境提供不同程度的支援。熟悉本頁面上的開發人員工作流程術語和假設後,請查看我們用於設定 Firebase 專案和應用程式的一般最佳實務和一般安全指南。
關於環境
在軟體開發中,環境是運行應用程式實例或應用程式系統所需的所有硬體和軟體。
一系列環境為開發和測試軟體提供了隔離,而不影響使用者。如下圖所示,高級環境被視為預生產環境或生產環境,您可以根據需要擁有任意多個預生產環境。該圖還描述了與每種環境類型相關的常見做法和功能。
透過這些環境將功能或版本推進到生產的過程稱為部署管道。
環境類型
環境由運行和支援應用程式、其程式碼和資料所需的底層基礎設施組成。展開以下每個術語以查看一些常見環境的描述,包括每種環境類型中使用的資料類型的提示。
每個開發人員都需要一個開發環境——一個安全、隔離的地方來測試正在建置的變更。理想情況下,團隊中的每個開發人員都可以存取自己的開發環境。此外,如果開發環境是本機實例,開發人員可以更快地進行迭代。
開發環境中的資料通常與生產資料相似,但不應包含任何真實使用者的資料。它還可能包含過去導致錯誤的數據,例如很長的字串。
如果您有自動化測試,則需要一個執行這些測試的環境,並且每次啟動測試環境時都需要重設資料。
如果您有 QA 工程師,他們可能需要一個他們都使用的環境,或者他們可能需要單獨的環境來測試新的候選版本。
測試和 QA 環境中的數據包含通常代表生產數據的品質數據,以及代表極端情況的數據和過去導致錯誤的數據範例。
為了實際測試版本在生產中的工作方式,您需要一個盡可能模仿生產基礎架構的暫存環境。如果您需要單獨測試特定的集成,那麼擁有多個暫存實例是很常見的。
以下是暫存和產品之間的常見差異:
分期可能會缺少一些可能導致副作用的功能或整合。例如,暫存可以設定為不發送電子郵件。
分期可能包含匿名數據;數據可以是假的,但應該是真的。由於登台是安全偵錯問題的地方,因此您可以讓團隊更廣泛地存取登台資料而不是生產資料。因此,為了保護使用者隱私,您不應在暫存中使用實際的使用者資料。
對於您維護的每個應用程序,您都需要一個生產環境。這是您的用戶與之互動的實例。
與您可以更改、刪除和/或重新建立資料的其他環境不同,生產環境中的資料非常重要;遺失或更改您的產品資料將直接影響您的用戶。
在 Firebase 控制台中,我們建議將與您的生產環境關聯的 Firebase 專案標記為「生產」環境類型。此標籤可以幫助提醒您和您的隊友任何更改都可能影響您關聯的生產應用程式及其數據。
下一步
查看我們設定 Firebase 專案的一般最佳實務。本指南迴答了有關 Firebase 專案層次結構、如何註冊應用程式變體以及多租戶的問題。
查看不同環境的一般安全準則。您希望確保每個環境及其資料都是安全的。