Đối với ứng dụng chính thức, bạn cần thiết lập một quy trình phát triển rõ ràng, đặc biệt là nếu có nhiều người cùng làm việc trên ứng dụng của bạn. Quy trình phát triển thường bao gồm việc thiết lập và quản lý nhiều môi trường.
Firebase có nhiều cấp độ hỗ trợ cho quy trình làm việc của nhà phát triển và môi trường cấu thành. Sau khi bạn đã quen với các thuật ngữ và giả định về quy trình làm việc của nhà phát triển trên trang này, hãy xem các phương pháp hay nhất chung và nguyên tắc bảo mật chung để thiết lập dự án Firebase và ứng dụng của bạn.
Giới thiệu về môi trường
Trong quá trình phát triển phần mềm, môi trường là tất cả phần cứng và phần mềm cần thiết để chạy một phiên bản của ứng dụng hoặc hệ thống ứng dụng.
Một loạt môi trường giúp tách biệt quá trình phát triển và thử nghiệm phần mềm mà không ảnh hưởng đến người dùng. Như trong biểu đồ bên dưới, các môi trường ở cấp cao được coi là trước khi phát hành công khai hoặc môi trường thực tế và bạn có thể có nhiều môi trường trước khi phát hành công khai nếu cần. Sơ đồ này cũng mô tả các phương pháp và tính năng phổ biến liên quan đến từng loại môi trường.
Quá trình đưa một tính năng hoặc bản phát hành qua các môi trường này vào môi trường thực tế được gọi là quy trình triển khai.

Các loại môi trường
Môi trường bao gồm cơ sở hạ tầng cơ bản mà bạn cần để chạy và hỗ trợ ứng dụng, mã và dữ liệu của ứng dụng. Mở rộng từng thuật ngữ sau đây để xem nội dung mô tả về một số môi trường phổ biến, bao gồm cả mẹo về các loại dữ liệu được dùng trong từng loại môi trường.
Môi trường phát triển (dev)
Mọi nhà phát triển đều cần có một môi trường phát triển – một nơi an toàn, tách biệt để thử nghiệm các thay đổi trong quá trình xây dựng. Lý tưởng nhất là mọi nhà phát triển trong nhóm của bạn đều có quyền truy cập vào môi trường phát triển của riêng họ. Ngoài ra, nếu môi trường phát triển là một phiên bản cục bộ, thì nhà phát triển có thể lặp lại nhanh hơn nhiều.
Dữ liệu trong môi trường phát triển được gieo mầm bằng dữ liệu thường giống với dữ liệu sản xuất, nhưng không bao giờ được chứa bất kỳ dữ liệu nào của người dùng thực. Tập dữ liệu này cũng có thể chứa dữ liệu đã gây ra lỗi trong quá khứ, chẳng hạn như các chuỗi rất dài.
Môi trường kiểm thử và đảm bảo chất lượng
Nếu có các bài kiểm thử tự động, bạn cần có một môi trường thử nghiệm để chạy các bài kiểm thử đó và bạn cần đặt lại dữ liệu mỗi khi tạo môi trường thử nghiệm.
Nếu có kỹ sư QA, họ có thể cần một môi trường mà tất cả họ đều sử dụng hoặc họ có thể cần các môi trường riêng lẻ để kiểm thử một bản phát hành dùng thử mới.
Dữ liệu trong môi trường kiểm thử và đảm bảo chất lượng (QA) được gieo mầm bằng dữ liệu chất lượng, thường đại diện cho dữ liệu sản xuất, cùng với dữ liệu đại diện cho các trường hợp đặc biệt và ví dụ về dữ liệu đã gây ra lỗi trong quá khứ.
Môi trường thử nghiệm
Để kiểm thử thực tế về cách một bản phát hành sẽ hoạt động trong môi trường thực tế, bạn cần có một môi trường thử nghiệm mô phỏng cơ sở hạ tầng thực tế càng giống càng tốt. Thông thường, bạn sẽ có nhiều phiên bản thử nghiệm nếu cần kiểm thử riêng các hoạt động tích hợp cụ thể.
Sau đây là những điểm khác biệt phổ biến giữa môi trường thử nghiệm và môi trường thực tế:
Môi trường thử nghiệm có thể thiếu một số tính năng hoặc thành phần tích hợp, dẫn đến tác dụng phụ. Ví dụ: môi trường thử nghiệm có thể được thiết lập để không gửi email.
Môi trường thử nghiệm có thể có dữ liệu ẩn danh; dữ liệu có thể là giả nhưng phải thực tế. Vì môi trường thử nghiệm là nơi để gỡ lỗi một cách an toàn, nên bạn có thể cấp cho nhóm quyền truy cập vào dữ liệu thử nghiệm rộng hơn so với dữ liệu chính thức. Vì vậy, để bảo vệ quyền riêng tư của người dùng, bạn không nên sử dụng dữ liệu thực tế của người dùng trong giai đoạn thử nghiệm.
Môi trường phát hành công khai (prod)
Đối với mỗi ứng dụng mà bạn duy trì, bạn cần có một môi trường thực tế duy nhất. Đây là phiên bản mà người dùng tương tác.
Không giống như các môi trường khác, nơi bạn có thể thay đổi, xoá và/hoặc tạo lại dữ liệu, dữ liệu trong môi trường phát hành chính thức rất quan trọng; việc mất hoặc thay đổi dữ liệu phát hành chính thức sẽ ảnh hưởng trực tiếp đến người dùng.
Trong bảng điều khiển của Firebase, bạn nên gắn thẻ dự án Firebase liên kết với môi trường thực tế của mình là loại môi trường "thực tế". Thẻ này có thể giúp nhắc nhở bạn và đồng đội rằng mọi thay đổi đều có thể ảnh hưởng đến các ứng dụng chính thức được liên kết và dữ liệu của các ứng dụng đó.
Các bước tiếp theo
Xem các phương pháp hay nhất chung của chúng tôi để thiết lập dự án Firebase. Hướng dẫn này giải đáp các câu hỏi về hệ phân cấp dự án Firebase, cách đăng ký các biến thể ứng dụng và mô hình đa khách hàng.
Xem lại nguyên tắc bảo mật chung cho các môi trường khác nhau. Bạn muốn đảm bảo rằng mỗi môi trường và dữ liệu của môi trường đó đều được bảo mật.