Kiểm tra ứng dụng web của bạn cục bộ, chia sẻ các thay đổi với người khác, sau đó triển khai trực tiếp

Trước khi triển khai lên trang web trực tiếp của mình, bạn sẽ muốn xem và kiểm tra các thay đổi của mình. Firebase Hosting cho phép bạn xem và kiểm tra các thay đổi cục bộ cũng như tương tác với các tài nguyên dự án phụ trợ được mô phỏng. Nếu bạn cần đồng đội xem và kiểm tra các thay đổi của mình, Hosting có thể tạo các URL xem trước tạm thời, có thể chia sẻ cho trang web của bạn. Chúng tôi thậm chí còn hỗ trợ tích hợp GitHub để triển khai từ yêu cầu kéo.

Trước khi bắt đầu

Hoàn thành các bước được liệt kê trên trang Hosting Get Started , cụ thể là các tác vụ sau:

  1. Cài đặt hoặc cập nhật Firebase CLI lên phiên bản mới nhất.
  2. Kết nối thư mục dự án cục bộ (chứa nội dung ứng dụng của bạn) với dự án Firebase của bạn.

Bạn có thể tùy ý triển khai nội dung và cấu hình Lưu trữ của ứng dụng nhưng đó không phải là điều kiện tiên quyết cho các bước trên trang này.

Bước 1: Kiểm tra cục bộ

Nếu đang thực hiện lặp lại nhanh chóng hoặc muốn ứng dụng của mình tương tác với các tài nguyên dự án phụ trợ được mô phỏng, bạn có thể kiểm tra nội dung và cấu hình Lưu trữ cục bộ. Khi thử nghiệm cục bộ, Firebase phân phối ứng dụng web của bạn tại URL được lưu trữ cục bộ.

Dịch vụ lưu trữ là một phần của Bộ mô phỏng cục bộ Firebase , cho phép ứng dụng của bạn tương tác với nội dung và cấu hình Lưu trữ được mô phỏng của bạn, cũng như các tài nguyên dự án được mô phỏng (chức năng, cơ sở dữ liệu và quy tắc) tùy chọn của bạn.

  1. (Tùy chọn) Theo mặc định, ứng dụng được lưu trữ cục bộ của bạn sẽ tương tác với tài nguyên dự án thực , không được mô phỏng (chức năng, cơ sở dữ liệu, quy tắc, v.v.). Thay vào đó, bạn có thể tùy ý kết nối ứng dụng của mình để sử dụng bất kỳ tài nguyên dự án mô phỏng nào mà bạn đã định cấu hình. Tìm hiểu thêm: Cơ sở dữ liệu thời gian thực | Cửa hàng đám mây | Chức năng đám mây

  2. Từ thư mục gốc của dự án cục bộ của bạn, hãy chạy lệnh sau:

    firebase emulators:start
  3. Mở ứng dụng web của bạn tại URL cục bộ được CLI trả về (thường là http://localhost:5000 ).

  4. Để cập nhật các thay đổi cho URL cục bộ, hãy làm mới trình duyệt của bạn.

Kiểm tra từ các thiết bị cục bộ khác

Theo mặc định, trình giả lập chỉ phản hồi các yêu cầu từ localhost . Điều này có nghĩa là bạn sẽ có thể truy cập nội dung được lưu trữ từ trình duyệt web trên máy tính của bạn chứ không phải từ các thiết bị khác trên mạng của bạn. Nếu bạn muốn thử nghiệm từ các thiết bị cục bộ khác, hãy định cấu hình firebase.json của bạn như sau:

"emulators": {
    // ...

    "hosting": {
      "port": 5000
      "host": "0.0.0.0"
    }
  }

Bước 2: Xem trước và chia sẻ

Nếu bạn muốn người khác xem các thay đổi đối với ứng dụng web của mình trước khi phát hành trực tuyến, bạn có thể sử dụng các kênh xem trước.

Sau khi bạn triển khai lên kênh xem trước, Firebase phân phối ứng dụng web của bạn tại "URL xem trước", đây là URL tạm thời có thể chia sẻ. Khi sử dụng URL xem trước, ứng dụng web của bạn sẽ tương tác với chương trình phụ trợ thực sự của bạn đối với tất cả tài nguyên dự án (ngoại trừ mọi chức năng "được ghim" trong cấu hình viết lại của bạn ).

Lưu ý rằng mặc dù các URL xem trước rất khó đoán (vì chúng chứa hàm băm ngẫu nhiên), nhưng chúng vẫn công khai. Vì vậy, bất kỳ ai biết URL đều có thể truy cập nó.

  1. Từ thư mục gốc của dự án cục bộ của bạn, hãy chạy lệnh sau:

    firebase hosting:channel:deploy CHANNEL_ID

    Thay thế CHANNEL_ID bằng một chuỗi không có khoảng trắng (ví dụ: feature_mission-2-mars ). ID này sẽ được sử dụng để tạo URL xem trước được liên kết với kênh xem trước.

  2. Mở ứng dụng web của bạn tại URL xem trước được CLI trả về. Nó sẽ trông giống như thế này: PROJECT_ID -- CHANNEL_ID - RANDOM_HASH .web.app

  3. Để cập nhật URL xem trước của bạn với các thay đổi, hãy chạy lại lệnh tương tự. Đảm bảo chỉ định cùng CHANNEL_ID trong lệnh.

Tìm hiểu về cách quản lý kênh xem trước , bao gồm cách đặt thời hạn của kênh.

Firebase Hosting hỗ trợ Hành động GitHub tự động tạo và cập nhật URL xem trước khi bạn thực hiện các thay đổi đối với yêu cầu kéo. Tìm hiểu cách thiết lập và sử dụng Hành động GitHub này .

Bước 3: Triển khai trực tiếp

Khi bạn đã sẵn sàng chia sẻ những thay đổi của mình với mọi người, hãy triển khai nội dung và cấu hình Lưu trữ lên kênh trực tiếp của bạn. Firebase cung cấp một số tùy chọn khác nhau cho bước này tùy thuộc vào trường hợp sử dụng của bạn (xem các tùy chọn bên dưới).

Tùy chọn 1: Sao chép từ kênh xem trước sang kênh trực tiếp của bạn

Tùy chọn này mang lại sự tự tin rằng bạn đang triển khai cho kênh trực tiếp của mình nội dung và cấu hình chính xác mà bạn đã thử nghiệm trong kênh xem trước. Tìm hiểu thêm về các phiên bản nhân bản .

  1. Từ bất kỳ thư mục nào, hãy chạy lệnh sau:

    firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:live

    Thay thế từng phần giữ chỗ bằng phần sau:

    • SOURCE_SITE_IDTARGET_SITE_ID : Đây là ID của các trang web Lưu trữ có chứa các kênh.

      • Đối với trang web Lưu trữ mặc định của bạn, hãy sử dụng ID dự án Firebase của bạn.
      • Bạn có thể chỉ định các trang web trong cùng một dự án Firebase hoặc thậm chí trong các dự án Firebase khác nhau.
    • SOURCE_CHANNEL_ID : Đây là mã định danh cho kênh hiện đang phục vụ phiên bản bạn muốn triển khai cho kênh trực tiếp của mình.

      • Đối với kênh trực tiếp, hãy sử dụng live làm ID kênh.
  2. Xem các thay đổi của bạn (bước tiếp theo).

Tùy chọn 2: Triển khai từ thư mục dự án cục bộ đến kênh trực tiếp của bạn

Tùy chọn này giúp bạn linh hoạt điều chỉnh cấu hình cụ thể cho kênh trực tiếp hoặc triển khai ngay cả khi bạn chưa sử dụng kênh xem trước.

  1. Từ thư mục gốc của dự án cục bộ của bạn, hãy chạy lệnh sau:

    firebase deploy --only hosting
  2. Xem các thay đổi của bạn (bước tiếp theo).

Bước 4: Xem các thay đổi của bạn trên trang web trực tiếp của bạn

Cả hai tùy chọn trên đều triển khai nội dung và cấu hình Hosting của bạn tới các trang web sau:

  • Các miền phụ do Firebase cung cấp cho trang web Lưu trữ mặc định của bạn và mọi trang web Lưu trữ bổ sung:
    SITE_ID .web.app (như PROJECT_ID .web.app )
    SITE_ID .firebaseapp.com (như PROJECT_ID .firebaseapp.com )

  • Bất kỳ miền tùy chỉnh nào bạn đã kết nối với (các) trang web Lưu trữ của mình

Để hạn chế triển khai ở một trang web Lưu trữ cụ thể, hãy chỉ định mục tiêu triển khai trong lệnh CLI của bạn.

Các hoạt động và thông tin triển khai khác

Thêm một bình luận cho việc triển khai

Bạn có thể tùy ý thêm nhận xét vào bản triển khai. Nhận xét này sẽ hiển thị cùng với thông tin triển khai khác trên trang tổng quan Dịch vụ lưu trữ trong bảng điều khiển Firebase. Ví dụ:

firebase deploy --only hosting -m "Deploying the best new feature ever."

Thêm các tác vụ theo kịch bản predeploy và postdeploy

Bạn có thể tùy ý kết nối các tập lệnh shell với lệnh firebase deploy để thực hiện các tác vụ triển khai trước hoặc triển khai sau. Ví dụ: hook postdeploy có thể thông báo cho quản trị viên về việc triển khai nội dung trang mới. Tham khảo tài liệu Firebase CLI để biết thêm chi tiết.

Nội dung được triển khai vào bộ nhớ đệm

Khi có yêu cầu đối với nội dung tĩnh , Firebase Hosting sẽ tự động lưu nội dung vào bộ nhớ đệm trên CDN. Nếu bạn triển khai lại nội dung trang web của mình, Firebase sẽ tự động xóa tất cả nội dung tĩnh được lưu trong bộ nhớ đệm trên CDN để các yêu cầu mới nhận được nội dung mới của bạn.

Lưu ý rằng bạn có thể định cấu hình bộ nhớ đệm của nội dung động .

Phục vụ qua HTTPS

Đảm bảo rằng tất cả tài nguyên bên ngoài không được lưu trữ trên Firebase Hosting đều được tải qua SSL (HTTPS), bao gồm mọi tập lệnh bên ngoài. Hầu hết các trình duyệt không cho phép người dùng tải "nội dung hỗn hợp" (lưu lượng truy cập SSL và không phải SSL).

Bước tiếp theo