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

Tính năng Lưu trữ Firebase cung cấp công cụ thông qua cả bảng điều khiển của Firebase và Giao diện dòng lệnh (CLI) của Firebase để 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ữ

Việc tìm hiểu về cơ sở hạ tầng Lưu trữ giúp bạn hiểu các cách 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.). Trang web chứa một hoặc nhiều kênh, trong đó mỗi kênh được 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 do 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 từng kênh phân phát được đóng gói thành đố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 bản phát hành 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ư đối tượng và thời điểm triển khai.

Trên Trang tổng quan 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 của trang web bạn muốn để xem nhật ký phát hành của trang web đó. Nếu bạn có bất kỳ kênh xem trước nào, các kênh đó cũng sẽ hiển thị trên trang tổng quan Lưu trữ.

Quản lý chế độ cài đặt 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, như thời hạn của kênh, chỉ áp dụng cho kênh xem trước.

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

Mỗi lần bạn triển khai cho một kênh (và tạo một bản phát hành), tính năng Lưu trữ sẽ giữ 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 mỗi kênh trong dự án của mình, cả kênh trực tiếp và kênh xem trước.

  • Tại sao việc lưu trữ giữ lại các bản phát hành trước?
    Đối với kênh trực tiếp, việc giữ lại các bản phát hành trước đó cho phép bạn hoàn nguyên 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ể sử dụng tính năng khôi phục.

  • Tại sao cần giữ lại 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ớ của Máy chủ lưu trữ trên thẻ Bộ nhớ trong bảng điều khiển.

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

Dưới đây là cách đặt giới hạn bộ nhớ 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 cài đặt bộ nhớ phát hành:

    • Đối với kênh đang hoạt động
      Trong bảng Nhật ký phát hành của trang web, hãy nhấp vào rồi chọn Cài đặt bộ nhớ phát hành.

    • Đối với kênh có bản xem trước bất kỳ
      Trong hàng chứa kênh có bản xem trước, hãy nhấp vào biểu tượng rồi 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 thời 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 các bản phát hành và phiên bản liên quan sẽ được lên lịch xoá trong vòng 24 giờ. URL xem trước đượ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 (ví dụ: điều này xảy ra 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 để kiểm soát thời hạn của 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 , rồi 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ể lên tới 30 ngày kể từ ngày triển khai. Sử dụng h cho giờ, d cho ngày và w cho nhiều tuần (ví dụ: 12h, 7d, 2w, tương ứng).

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 một 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 kênh "mục tiêu" để nội dung và cấu hình Lưu trữ đã sao chép được tự động phân phát tại URL liên kết của kênh "mục tiêu".

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 chính xác nội dung 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 của trang web (phát 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" (chẳng hạn 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 "sản phẩm"

Để sao chép một phiên bản, hãy chạy lệnh sau 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à 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, hãy sử dụng mã dự án Firebase.
    • Bạn có thể chỉ định các trang web Lưu trữ trong cùng một dự án Firebase hoặc thậm chí trong nhiều dự án Firebase.
  • SOURCE_CHANNEL_IDTARGET_CHANNEL_ID: Đây là giá trị nhận dạng cho kênh.

    • Đối với kênh trực tiếp, hãy sử dụng live làm mã nhận dạng kênh.
    • Nếu kênh "mục tiêu" đượ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 trực tiếp trên trang web. Việ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 mộ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 hiện bạn muốn quay lại để phân phát nội dung "thông thường".

Bằng cách 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 như 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.

Dưới đây là cách khôi phục:

  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 khôi phục.

  2. Nhấp vào rồi chọn Khôi phục.

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

Bạn có thể phải xoá một bản phát hành khỏi kênh đang hoạt động 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 đó, chứ không thể xoá bản phát hành hiện đang được phân phát trên trang web đang hoạt động của mình.

Khi xoá một bản phát hành, thực ra bạn sẽ xoá nội dung của bản phát hành đó và 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 được giữ lại để bạn vẫn có thể xem siêu dữ liệu của đối tượng đó (người triển khai và thời điểm triển khai).

Sau đâ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 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 một trang web đã triển khai là xoá các tệp trên máy, 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 kênh của mình bằng cách nhấp vào kênh bạn muốn xem trước. Trong khung hiển thị này, bạn có thể xem, xoá và huỷ bỏ các hoạt động triển khai và phát hành mới nhất được 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 của trang web.

Khi bạn xoá kênh xem trước, kênh đó, cùng với các bản phát hành và phiên bản liên quan, sẽ được lên lịch xoá trong vòng 24 giờ. URL xem trước đượ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 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 (ví dụ: điều này xảy ra 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).

Khi lưu trữ kênh, bạn có thể xoá kênh xem trước theo hai cách:

  • 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.

  • Giao diện dòng lệnh (CLI) của Firebase
    Chạy lệnh sau từ thư mục bất kỳ:

    firebase hosting:channel:delete CHANNEL_ID

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

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

Mọi lệnh đối với 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 trên trang web lưu trữ mặc định bằ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 đã chỉ định

Bạn không thể xoá kênh trực tiếp 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 đã chỉ định

Nếu chưa có kênh xem trước, 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") trên trang web lưu trữ mặc định
firebase hosting:channel:open CHANNEL_ID Mở trình duyệt dẫn đến URL của kênh đã chỉ định hoặc trả về URL nếu không thể mở trong trình duyệt

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 vào kênh "mục tiêu" đã chỉ định

Lệnh này cũng triển khai kênh "mục tiêu" đã chỉ định. Nếu kênh "mục tiêu" 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ữ "mục tiêu" 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 "target" đã chỉ định

Lệnh này cũng triển khai kênh "mục tiêu" đã chỉ định. Nếu kênh "mục tiêu" 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ữ "mục tiêu" trước khi triển khai cho kênh.

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