Quản lý kênh xem trước, bản phát hành và phiên bản trực tiếp cho trang web của bạn

Dịch vụ Lưu trữ Firebase cung cấp các công cụ thông qua cả bảng điều khiển của Firebase và Firebase CLI để quản lý các kênh, bản phát hành và phiên bản cho trang web Lưu trữ của bạn.

Tổng quan về cơ sở hạ tầng lưu trữ

Khi hiểu về Cơ sở hạ tầng lưu trữ, bạn sẽ hiểu rõ các tuỳ chọn quản lý được mô tả trên trang này.

Mỗi dự án Firebase đều có một trang web Lưu trữ mặc định có quyền truy cập vào tất cả tài nguyên của dự án (cơ sở dữ liệu, thông tin xác thực, hàm, v.v.). Mỗi trang web chứa một hoặc nhiều kênh, trong đó mỗi kênh liên kết với một URL phân phát nội dung cụ thể và một cấu hình Lưu trữ.

hình ảnh hệ phân cấp Lưu trữ Firebase

Mỗi trang web Lưu trữ đều có một kênh "trực tiếp" phân phát nội dung và cấu hình Lưu trữ tại (1) miền con được Firebase cấp phép của trang web (SITE_ID.web.appSITE_ID.firebaseapp.com) và (2) mọi miền tuỳ chỉnh đã kết nối. Bạn cũng có thể tuỳ ý tạo các kênh "xem trước" phân phát nội dung và cấu hình riêng tại các "URL xem trước" tạm thời, có thể chia sẻ (SITE_ID--CHANNEL_ID-RANDOM_HASH.web.app).

Nội dung và cấu hình do mỗi kênh phân phát sẽ được đóng gói thành một đối tượng phiên bản có giá trị nhận dạng duy nhất. Khi bạn triển khai cho trang web của mình, Firebase sẽ tạo một đối tượng release trỏ đến một phiên bản cụ thể. Bản phát hành chứa siêu dữ liệu về quá trình triển khai, chẳng hạn như người đã triển khai và thời điểm triển khai.

Trên Trang tổng quan về việc lưu trữ của dự án Firebase, bạn có thể xem toàn bộ nhật ký phát hành của kênh đang hoạt động trong bảng Nhật ký phát hành. Nếu bạn có nhiều trang web Lưu trữ, hãy nhấp vào Xem cho trang web bạn muốn để xem nhật ký phát hành của trang web đó. Nếu bạn có kênh xem trước, các kênh đó cũng sẽ xuất hiện trên trang tổng quan Lưu trữ.

Quản lý các chế độ cài đặt của kênh

Đối với mỗi kênh trên trang web, bạn có thể kiểm soát chế độ cài đặt của kênh đó. Một số chế độ cài đặt, chẳng hạn như thời hạn của kênh, chỉ áp dụng cho các kênh xem trước.

Giới hạn số lượng bản phát hành cần giữ lại

Mỗi khi bạn triển khai một kênh (và tạo bản phát hành), tính năng Lưu trữ sẽ giữ lại phiên bản liên kết với bản phát hành trước đó trong bộ nhớ Lưu trữ của dự án. Bạn có thể đặt số lượng bản phát hành cần giữ lại cho từng kênh trong dự án, cả kênh trực tiếp và kênh xem trước.

  • Vì sao dịch vụ Lưu trữ giữ lại các bản phát hành trước đó?
    Đối với kênh đang hoạt động, việc giữ lại các bản phát hành trước đó sẽ cho phép bạn khôi phục về phiên bản trước đó của trang web nếu cần. Đối với các kênh xem trước, bạn chưa thể khôi phục.

  • Vì sao phải giới hạn số lượng bản phát hành?
    Tính năng này có thể giúp bạn kiểm soát mức sử dụng bộ nhớ Lưu trữ của dự án, vì nội dung của các bản phát hành trước được lưu trong bộ nhớ này. Bạn có thể giám sát bộ nhớ Lưu trữ của mình từ thẻ Bộ nhớ trong bảng điều khiển.

  • Điều gì xảy ra khi bạn giới hạn số lượng bản phát hành để giữ lại?
    Khi bạn đặt giới hạn giữ lại cho số lượng bản phát hành, nội dung của mọi bản phát hành vượt quá giới hạn đã đặt sẽ được lên lịch xoá, bắt đầu từ các bản phát hành cũ nhất trước tiên.

Sau đây là cách đặt hạn mức bộ nhớ cho bản phát hành cho một kênh:

  1. Trong bảng điều khiển của Firebase, hãy truy cập vào hộp thoại chế độ cài đặt bộ nhớ phát hành:

    • Đối với kênh trực tiếp
      Trong bảng Nhật ký phát hành cho trang web, hãy nhấp vào , sau đó chọn Cài đặt bộ nhớ phát hành.

    • Đối với kênh xem trước bất kỳ
      Trong hàng chứa kênh xem trước, hãy nhấp vào , sau đó chọn Cài đặt kênh.

  2. Nhập số lượng bản phát hành mà bạn muốn giữ lại, sau đó nhấp vào Lưu.

Đặt ngày hết hạn của kênh xem trước

Theo mặc định, kênh xem trước sẽ hết hạn sau 7 ngày kể từ ngày tạo, nhưng kênh trực tiếp của trang web sẽ không bao giờ hết hạn.

Khi kênh xem trước hết hạn, kênh cùng với bản phát hành và phiên bản liên kết sẽ bị lên lịch xoá trong vòng 24 giờ. URL của bản xem trước liên kết cũng bị huỷ kích hoạt. Một trường hợp ngoại lệ của việc xoá phiên bản này là khi một phiên bản được liên kết với một bản phát hành khác (chẳng hạn như khi bạn sao chép một phiên bản từ kênh này sang kênh khác trong cùng một trang web).

Tính năng lưu trữ hỗ trợ hai cách khác nhau để kiểm soát thời hạn của một kênh:

  • Bảng điều khiển của Firebase
    Trong hàng chứa kênh xem trước, hãy nhấp vào , sau đó chọn Cài đặt kênh. Nhập ngày và giờ hết hạn.

  • Firebase CLI
    Khi bạn triển khai cho kênh xem trước, hãy chuyển cờ --expires DURATION, ví dụ:

    firebase hosting:channel:deploy new-awesome-feature --expires 7d

    Thời gian hết hạn có thể tối đa là 30 ngày kể từ ngày triển khai. Hãy sử dụng h cho giờ, d cho ngày và w cho tuần (ví dụ tương ứng: 12h, 7d, 2w).

Sao chép một phiên bản từ kênh này sang kênh khác

Bạn có thể sao chép phiên bản đã triển khai từ kênh này sang kênh khác. Bạn có thể sao chép trên các kênh trực tiếp hoặc xem trước, trên các trang web Lưu trữ hoặc thậm chí trên các dự án Firebase.

Lệnh sao chép cũng triển khai cho kênh "target" để nội dung và cấu hình được sao chép được phân phát tự động tại URL liên kết của kênh "target".

Tính năng này rất hữu ích cho việc theo dõi phiên bản hoặc nếu bạn muốn tự tin rằng mình đang triển khai nội dung chính xác mà bạn đã xem và/hoặc thử nghiệm trên một kênh khác. Sau đây là một số ví dụ:

  • Sao chép từ kênh xem trước "QA" sang kênh trực tiếp trên trang web của bạn (phát hành trực tiếp!)

  • Sao chép từ kênh trực tiếp của trang web sang kênh xem trước "gỡ lỗi" (như trước khi khôi phục)

  • Sao chép từ một kênh trong dự án Firebase "thử nghiệm" sang kênh xem trước trong dự án Firebase "chính thức" của bạn

Để sao chép một phiên bản, hãy chạy lệnh sau từ một thư mục bất kỳ:

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

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

  • SOURCE_SITE_IDTARGET_SITE_ID: Đây là mã nhận dạng 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, hãy sử dụng mã dự án Firebase.
    • Bạn có thể chỉ định các trang web Lưu trữ nằm trong cùng một dự án Firebase hoặc thậm chí là trong các dự án Firebase khác nhau.
  • SOURCE_CHANNEL_IDTARGET_CHANNEL_ID: Đây là giá trị nhận dạng của các kênh.

    • Đối với kênh phát trực tiếp, hãy sử dụng live làm mã nhận dạng kênh.
    • Nếu kênh "target" được chỉ định chưa tồn tại, lệnh này sẽ tạo kênh trước khi triển khai cho kênh đó.

Khôi phục về phiên bản trước của trang web

Bạn có thể khôi phục để phân phát phiên bản trước của kênh đang hoạt động trên trang web của mình. Thao tác này sẽ hữu ích nếu bản phát hành hiện tại của bạn gặp vấn đề và bạn muốn khôi phục để phân phát phiên bản trang web đang hoạt động đã biết. Hoặc có thể trang web của bạn đã phân phát nội dung tạm thời cho một kỳ nghỉ hoặc sự kiện đặc biệt, nhưng giờ đây bạn muốn khôi phục để phân phát nội dung "thông thường" của mình.

Khi khôi phục, bạn sẽ tạo một bản phát hành mới phân phát cùng một phiên bản nội dung với bản phát hành trước. Trong bảng Nhật ký phát hành, cả hai bản phát hành sẽ liệt kê cùng một giá trị nhận dạng phiên bản.

Sau đây là cách khôi phục:

  1. Trong bảng điều khiển của Firebase, tại bảng Nhật ký phát hành cho trang web của bạn, hãy di chuột qua mục phát hành trước đó mà bạn muốn khôi phục.

  2. Nhấp vào , sau đó chọn Khôi phục.

Xoá bản phát hành theo cách thủ công

Có thể bạn cần phải xoá một bản phát hành khỏi kênh trực tiếp theo cách thủ công để giải phóng Bộ nhớ lưu trữ cho dự án. Bạn chỉ có thể xoá các bản phát hành trước đây, chứ không thể xoá bản phát hành đang được phân phát trên trang web đang hoạt động.

Khi xoá một bản phát hành, thực ra bạn đang xoá nội dung của bản phát hành đó. Nội dung của bản phát hành đó được lên lịch xoá trong vòng 24 giờ. Bản thân đối tượng phát hành sẽ được giữ lại để bạn vẫn có thể xem siêu dữ liệu của đối tượng đó (đối tượng đã triển khai và thời điểm triển khai).

Dưới đây là cách xoá bản phát hành:

  1. Trong bảng điều khiển của Firebase, trong bảng Nhật ký phát hành cho trang web của bạn, hãy di chuột qua mục phát hành trước đó mà bạn muốn xoá.

  2. Nhấp vào , rồi chọn Delete (Xoá).

Xoá tệp theo cách thủ công

Trong tính năng Lưu trữ Firebase, cách chính để xoá các tệp đã chọn khỏi trang web đã triển khai là xoá các tệp trên thiết bị, sau đó triển khai lại.

Xoá kênh xem trước theo cách thủ công

Bạn có thể xem trước các kênh của mình bằng cách nhấp vào kênh mà bạn muốn xem trước. Từ khung hiển thị này, bạn có thể xem, xoá và huỷ bỏ những nội dung triển khai cũng như bản phát hành mới nhất liên kết với kênh cụ thể. Bạn có thể xoá kênh xem trước nhưng không thể xoá kênh trực tiếp trên trang web.

Khi bạn xoá một kênh xem trước, kênh cùng với bản phát hành và phiên bản liên kết sẽ bị lên lịch xoá trong vòng 24 giờ. URL của bản xem trước liên kết cũng bị huỷ kích hoạt. Một trường hợp ngoại lệ đối với việc xoá phiên bản là khi một phiên bản được liên kết với một bản phát hành khác (chẳng hạn như khi bạn sao chép một phiên bản từ kênh này sang kênh khác trong cùng một trang web).

Lưu trữ hỗ trợ hai cách khác nhau để xoá kênh xem trước:

  • Bảng điều khiển của Firebase
    Trong hàng chứa kênh xem trước, hãy nhấp vào , sau đó chọn Xoá kênh. Xác nhận việc xóa.

  • Firebase CLI
    Chạy lệnh sau đây từ bất kỳ thư mục nào:

    firebase hosting:channel:delete CHANNEL_ID

Các lệnh CLI cho kênh xem trước và tính năng sao chép

Lệnh cho kênh xem trước

Tất cả các lệnh cho kênh xem trước đều hỗ trợ triển khai mục tiêu nếu bạn có nhiều trang web Lưu trữ.

Lệnh Mô tả
firebase hosting:channel:create CHANNEL_ID

Tạo một kênh xem trước mới trong trang web Lưu trữ mặc định bằng cách sử dụng CHANNEL_ID được chỉ định

Lệnh này không triển khai cho kênh.

firebase hosting:channel:delete CHANNEL_ID

Xoá kênh xem trước được chỉ định

Bạn không thể xoá kênh đang hoạt động của một trang web.

firebase hosting:channel:deploy CHANNEL_ID

Triển khai nội dung và cấu hình Lưu trữ của bạn cho kênh xem trước được chỉ định

Nếu kênh xem trước chưa tồn tại, lệnh này sẽ tạo kênh trên trang web Lưu trữ default trước khi triển khai cho kênh.

firebase hosting:channel:list Liệt kê tất cả các kênh (bao gồm cả kênh "trực tiếp") trong trang web lưu trữ mặc định
firebase hosting:channel:open CHANNEL_ID Mở một trình duyệt đến URL của kênh đã chỉ định hoặc trả về URL đó nếu không mở được bằng trình duyệt

Các lệnh để sao chép phiên bản

Lệnh Mô tả
firebase hosting:clone \
SOURCE_SITE_ID:SOURCE_CHANNEL_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

Sao chép phiên bản được triển khai gần đây nhất trên kênh "nguồn" được chỉ định sang kênh "mục tiêu" được chỉ định

Lệnh này cũng triển khai đến kênh "target" được chỉ định. Nếu kênh "target" chưa tồn tại, lệnh này sẽ tạo một kênh xem trước mới trên trang web Lưu trữ "target" trước khi triển khai cho kênh.

firebase hosting:clone \
SOURCE_SITE_ID:@VERSION_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

Sao chép phiên bản đã chỉ định vào kênh "đích" được chỉ định

Lệnh này cũng triển khai đến kênh "target" được chỉ định. Nếu kênh "target" chưa tồn tại, lệnh này sẽ tạo một kênh xem trước mới trên trang web Lưu trữ "target" trước khi triển khai cho kênh.

Bạn có thể tìm thấy VERSION_ID trong Trang tổng quan về việc lưu trữ của bảng điều khiển của Firebase.