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 FirebaseFirebase Giao diện dòng lệnh (CLI) để quản lý kênh, bản phát hành và phiên bản cho Trang web Hosting.

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

Khi hiểu rõ cơ sở hạ tầng Hosting, bạn có thể nắm được được mô tả trên trang này.

Mỗi dự án Firebase đều có một trang web Hosting mặc định với 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à cấu hình Hosting.

hình ảnh <span class=Hệ thống phân cấp lưu trữ của Firebase" >

Mỗi trang web Hosting đều có một lượt "trực tiếp" phân phát nội dung và Cấu hình Hosting ở (1) các miền con được Firebase cấp phép của trang web (SITE_ID.web.appSITE_ID.firebaseapp.com) và (2) bất kỳ kết nối nào miền tuỳ chỉnh. Bạn cũng có thể tuỳ ý tạo "bản xem trước" các kênh phân phát nội dung và cấu hình của riêng họ trong thời gian tạm thời, "URL xem trước" 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 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 tạo một đối tượng release trỏ đến một phiên bản cụ thể. Đáp 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 họ triển khai đã triển khai.

Từ Trang tổng quan của Hosting, bạn có thể xem toàn bộ nhật ký phát hành trên kênh theo thời gian thực trong một 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 mà 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, thì chúng cũng xuất hiện trên trang tổng quan của Hosting.

Quản lý 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), Hosting sẽ giữ lại phiên bản được liên kết với bản phát hành trước trong Hosting của dự án bộ nhớ. 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.

  • Tại sao Hosting giữ lại các bản phát hành trước đó?
    Đối với kênh phát trực tiếp, việc giữ lại các bản phát hành trước đó sẽ giúp bạn: khôi phục về phiên bản trước đó của trang web nếu cần. Để kênh xem trước của bạn, chưa có tính năng khôi phục.

  • Tại sao 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 của bộ nhớ Hosting của dự án, dưới dạng nội dung của bản phát hành trước sẽ được lưu trong bộ nhớ này. Bạn có thể theo dõi bộ nhớ Hosting trong thẻ Bộ nhớ trên 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 số lượng bản phát hành được giữ lại, nội dung của bất kỳ bản phát hành nào vượt quá giới hạn bạn đã đặt được lên lịch xóa, bắt đầu từ bản phát hành cũ nhất.

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 Firebase, truy cập vào hộp thoại cài đặt bộ nhớ phát hành:

    • Dành cho kênh phát trực tiếp
      Trong bảng Nhật ký phát hành cho trang web của bạn, hãy nhấp vào , rồi chọn Chế độ 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 các bản phát hành và phiên bản có liên quan. Chúng sẽ bị lên lịch xoá trong vòng 24 giờ. Chiến lược phát hành đĩa đơn URL xem trước được liên kết cũng sẽ bị vô hiệu hoá. Trường hợp ngoại lệ đối với việc xoá phiên bản xảy ra khi một phiên bản được liên kết với một bản phát hành khác (điều này xảy ra, 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).

Hosting 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 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 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ể tối đa là 30 ngày kể từ ngày triển khai. Sử dụng h để 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 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 Hosting trang web hoặc thậm chí trong các dự án Firebase.

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

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 tự tin rằng bạn đang triển khai nội dung chính xác mà bạn đã xem và/hoặc thử nghiệm trên của bạn. Sau đây là một số ví dụ:

  • Bản sao từ "QA" xem trước kênh trực tiếp trên trang web của bạn (sẽ phát trực tiếp!)

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

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

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

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

    • Đối với trang web Hosting mặc định, hãy sử dụng mã dự án Firebase.
    • Bạn có thể chỉ định Hosting trang web nằm trong cùng một dự án Firebase hoặc ngay cả trong các dự án Firebase khác nhau.
  • SOURCE_CHANNEL_IDTARGET_CHANNEL_ID: Đây là giá trị nhận dạng cho 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 "mục tiêu" được chỉ định kê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 đang hoạt động trên trang web của mình. Chiến dịch này hành động 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 hoạt động đã biết của trang web. Hoặc có thể trang web của bạn 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 quảng cáo "thông thường" của bạn nội dung.

Bằng cách khôi phục, bạn 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.

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 cho trang web của bạn, hãy di chuột qua mục nhập bản phát hành 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 không gian này Hosting bộ nhớ cho dự án của bạn. Bạn chỉ có thể xoá 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ối trang web đang hoạt động của bạn.

Khi bạn 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 đó, tức là được lên lịch xoá trong vòng 24 giờ. Bản thân đối tượng giải phóng được giữ như vậy bạn vẫn có thể xem siêu dữ liệu của ứng dụng (người triển khai và thời điểm họ triển khai).

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

  1. Trong Bảng điều khiển 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 nhập phát hành 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 Firebase Hosting, cách chính để xoá các tệp đã chọn 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 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ừ chế độ xem này, bạn có thể xem, xoá và huỷ bỏ các nội dung triển khai mới nhất cũng như bản phát hành gắn liền 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 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ờ. Chiến lược phát hành đĩa đơn URL xem trước được liên kết cũng sẽ bị vô hiệu hoá. Trường hợp ngoại lệ đối với việc xoá phiên bản xảy ra khi một phiên bản được liên kết với một bản phát hành khác (điều này xảy ra, 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).

Hosting hỗ trợ hai cách xoá kênh dùng thử:

  • Bảng điều khiển Firebase
    Trong hàng chứa kênh xem trước, hãy nhấp vào , 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à 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ợ mục tiêu triển khai nếu bạn đã nhiều trang web Hosting.

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

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

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 Hosting của bạn đến 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 Hosting mặc định trước khi triển khai 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 Hosting mặc định
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

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 "nguồn" được chỉ định cho "mục tiêu" được chỉ định kênh

Lệnh này cũng triển khai tới "mục tiêu" được chỉ định của bạn. Nếu "mục tiêu" kênh chưa tồn tại, lệnh này sẽ tạo một kênh mới kênh xem trước trong "mục tiêu" Hosting trang web 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 được chỉ định theo "target" được chỉ định kênh

Lệnh này cũng triển khai cho kênh "đích" đã chỉ định. Nếu "mục tiêu" kênh chưa tồn tại, lệnh này sẽ tạo một kênh mới kênh xem trước trong "mục tiêu" Hosting trang web trước khi triển khai cho 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.