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

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

Tổng quan về cơ sở hạ tầng Hosting

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

Mỗi dự án Firebase đều có một Hosting trang web mặc định có quyền truy cập vào tất cả các tài nguyên của dự án (cơ sở dữ liệu, xác thực, hàm, v.v.). Một 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 Hosting.

hình ảnh về <span class=Hệ phân cấp của Firebase Hosting" />

Mọi trang web Hosting đều có một kênh "trực tiếp" phân phát nội dung và một cấu hình Hosting tại (1) các miền phụ do Firebase cung cấp của trang web (SITE_ID.web.appSITE_ID.firebaseapp.com) và (2) mọi miền tuỳ chỉnh được 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 cung cấp được đóng gói thành một đối tượng version 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 (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ề việc triển khai, chẳng hạn như người triển khai và thời điểm triển khai.

Trên Hosting trang tổng quan của dự án Firebase, bạn có thể xem toàn bộ nhật ký phát hành của kênh phát hành công khai trong bảng Nhật ký phát hành. Nếu bạn có nhiều trang web Hosting, 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 có kênh xem trước, thì các kênh đó cũng sẽ xuất hiện trên trang tổng quan Hosting.

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

Đối với mỗi kênh trên trang web của mình, 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 đến một kênh (và tạo một bản phát hành), Hosting sẽ giữ phiên bản được liên kết với bản phát hành trước đó trong bộ nhớ Hosting 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 phát hành công khai và kênh xem trước.

  • Tại sao Hosting giữ lại các bản phát hành trước đây?
    Đối với kênh phát hành trực tiếp, việc giữ lại các bản phát hành trước đây cho phép bạn quay lại một 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ể quay lại phiên bản trước.

  • Tại sao nên giới hạn số lượng bản phát hành cần giữ lại?
    Tính năng này có thể giúp bạn kiểm soát mức sử dụng Hosting bộ nhớ của dự án, vì nội dung của các bản phát hành trước được lưu trữ trong bộ nhớ này. Bạn có thể theo dõi bộ nhớ Hosting 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 số bản phát hành cần giữ lại?
    Khi bạn đặt giới hạn về số lượng 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ừ những bản phát hành cũ nhất.

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

  1. Trong bảng điều khiển 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 phát trực tiếp
      Trong bảng Nhật ký phát hành của trang web, hãy nhấp vào biểu tượng , rồi chọn Cài đặt bộ nhớ phát hành.

    • Đối với mọi kênh xem trước
      Trong hàng chứa kênh xem trước, hãy nhấp vào biểu tượng rồi chọn Chế độ cài đặt kênh.

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

Đặt thời hạn cho kênh phát hành thử nghiệm

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 chính của trang web sẽ không bao giờ hết hạn.

Khi một 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 kết sẽ được lên lịch xoá trong vòng 24 giờ. URL xem trước được liên kết cũng sẽ bị huỷ kích hoạt. Trường hợp ngoại lệ đối với việc xoá phiên bản này là nếu 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 nếu 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).

Hosting hỗ trợ 2 cách để kiểm soát thời gian hết hạn của một kênh:

  • Firebaseconsole
    Trong hàng của kênh xem trước, hãy nhấp vào biểu tượng , rồi chọn Chế độ cài đặt kênh. Nhập ngày và giờ hết hạn.

  • Firebase CLI
    Khi triển khai vào kênh xem trước, hãy truyề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 đến 30 ngày kể từ ngày triển khai. Sử dụng h cho giờ, d cho ngày và w cho 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ừ một kênh sang một kênh khác. Bạn có thể sao chép trên các kênh phát hành chính thức hoặc xem trước, trên các trang web Hosting hoặc thậm chí trên các dự án Firebase.

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

Tính năng này hữu ích cho việc theo dõi phiên bản hoặc nếu bạn muốn chắc chắn rằng mình đang triển khai nội dung chính xác mà bạn đã xem và/hoặc kiểm thử 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 phát trực tiếp của trang web (sắp ra mắt!)

  • 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 "dàn dựng" sang một kênh xem trước trong dự án Firebase "phát hành công khai"

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

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 nội dung sau:

  • SOURCE_SITE_IDTARGET_SITE_ID: Đây là mã nhận dạng của các trang web Hosting có chứa các kênh.

    • Đối với trang web Hosting mặc định, hãy sử dụng mã dự án Firebase.
    • Bạn có thể chỉ định các trang web Hosting trong cùng một dự án Firebase hoặc thậm chí trong các dự án Firebase khác nhau.
  • SOURCE_CHANNEL_IDTARGET_CHANNEL_ID: Đây là mã nhận dạng của kênh.

    • Đối với kênh phát trực tiếp, hãy 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.

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. Hành động này rất 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 quay lại để phân phát một phiên bản đã biết là hoạt động của trang web. Hoặc có thể trang web của bạn đã phân phát nội dung tạm thời cho một ngày lễ hoặc sự kiện đặc biệt, nhưng giờ đây bạn muốn quay lại phân phát nội dung "thông thường".

Khi khôi phục, bạn sẽ tạo một bản phát hành mới có cùng phiên bản nội dung như một 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 Firebase, trong bảng Nhật ký phát hành của trang web, hãy di chuột lên mục nhập bản phát hành trước mà bạn muốn quay lại.

  2. Nhấp vào , rồi chọn Quay lại.

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

Bạn có thể phải xoá bản phát hành khỏi kênh phát sóng trực tiếp theo cách thủ công để giải phóng Hosting bộ nhớ cho dự án của mình. 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 hiện đang được phân phối trên trang web đang hoạt động của bạn.

Khi xoá một bản phát hành, bạn thực sự đang xoá nội dung của bản phát hành đó. Nội dung này sẽ bị xoá trong vòng 24 giờ. Bản phát hành vẫn được giữ lại để bạn có thể xem siêu dữ liệu của bản phát hành (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 Firebaseconsole (bảng điều khiển), trong bảng Release History (Nhật ký phát hành) của trang web, hãy di chuột qua mục nhập bản phát hành trước mà bạn muốn xoá.

  2. Nhấp vào biểu tượng , rồi chọn Xoá.

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

Trong Firebase Hosting, 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 thiết bị, rồi triển khai lại.

Xoá kênh phát hành trước theo cách thủ công

Bạn có thể xem trước các kênh bằng cách nhấp vào kênh mà bạn muốn xem trước. Trong chế độ xem này, bạn có thể xem, xoá và hoàn nguyên các bản triển khai và bản 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 phát trực tiếp của trang web.

Khi bạn xoá một 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 kết sẽ được lên lịch xoá trong vòng 24 giờ. URL xem trước được liên kết cũng sẽ bị huỷ kích hoạ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 (ví dụ: trường hợp này xảy ra nếu 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).

Hosting hỗ trợ 2 cách xoá kênh phát hành thử:

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

  • Firebase CLI
    Chạy lệnh sau 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à sao chép

Các lệnh cho kênh xem trước

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

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

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

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

firebase hosting:channel:delete CHANNEL_ID

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

Bạn không thể xoá kênh phát 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 Hosting của bạn vào 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 trong trang web mặc định Hosting trước khi triển khai đến kênh.

firebase hosting:channel:list Liệt kê tất cả các kênh (bao gồm cả kênh "live") trong trang web mặc định Hosting
firebase hosting:channel:open CHANNEL_ID Mở trình duyệt đến URL của kênh được 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 sang kênh "mục tiêu" được chỉ định

Lệnh này cũng triển khai đến kênh "mục tiêu" đượ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 trong trang web "target" Hosting trước khi triển khai đến 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 sang kênh "mục tiêu" đã chỉ định

Lệnh này cũng triển khai đến kênh "mục tiêu" đượ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 trong trang web "target" Hosting trước khi triển khai đến kênh.

Bạn có thể tìm thấy VERSION_ID trong trang tổng quan Hosting của bảng điều khiển Firebase.