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
Việc tìm hiểu cơ sở hạ tầng Hosting sẽ giúp bạn hiểu 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 site 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, xác thực, Functions, 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ệ phân cấp Lưu trữ Firebase" />
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.app và SITE_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 phân phát được đóng gói thành một đối tượng phiên bản có giá trị nhận dạng riêng biệt. Khi bạn triển khai đến 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ể. Một 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 Hosting của dự án Firebase, bạn có thể xem toàn bộ lịch sử các bản phát hành của kênh trực tiếp trong bảng Nhật ký phát hành. Nếu bạn có nhiều trang webHosting, hãy nhấp vào Xem cho trang web mong 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ẽ 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 của 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 gian hết 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ữ lại 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 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 trực tiếp, việc giữ lại các bản phát hành trước đó 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ề 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 bộ nhớ Hosting của dự án, vì nội dung của các bản phát hành trước đó được lưu giữ 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ì sẽ xảy ra khi bạn giới hạn số lượng bản phát hành cần giữ lại?
Khi bạn đặt giới hạn cho 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ừ các bản phát hành cũ nhất.
Sau đây là cách đặt giới hạn bộ nhớ phát hành cho một kênh:
Trong Bảng điều khiển Firebase, hãy chuyển đến Hosting và không máy chủ > Hosting để truy cập vào hộp thoại 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 của bạn, hãy nhấp vào , 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 , rồi chọn Cài đặt kênh.
Nhập số lượng bản phát hành mà bạn muốn giữ lại, rồi nhấp vào Lưu.
Đặt thời gian hết hạn của kênh xem trước
Theo mặc định, một 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 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 được 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ị vô hiệu hoá. 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 khác nhau để kiểm soát thời gian hết hạn của một kênh:
Firebase console
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 đến kênh xem trước, hãy truyền cờ--expires DURATIONví 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
hcho giờ,dcho ngày vàwcho 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 kênh 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 được phân phát tại URL được liên kết của kênh "mục tiêu".Hosting
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. Dưới đâ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 (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 về phiên bản trướ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 "prod"
Để 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 thông tin sau:
SOURCE_SITE_ID và TARGET_SITE_ID: Đây là mã nhận dạng của các trang web Hosting chứa các kênh.
- Đối với trang web mặc định Hosting, hãy sử dụng mã dự án Firebase.
- Bạn có thể chỉ định các trang web Hosting nằm 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 và TARGET_CHANNEL_ID: Đây là giá trị nhận dạng cho các kênh.
- Đối với kênh trực tiếp, hãy sử dụng
livelà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, thì lệnh này sẽ tạo kênh đó trước khi triển khai đến kênh đó.
- Đối với kênh trực tiếp, hãy sử dụng
Khôi phục về phiên bản trước của trang web
Bạn có thể khôi phục về phiên bản trướ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 hữu ích nếu bản phát hành hiện tại gặp vấn đề và bạn muốn khôi phục về phiên bản hoạt động đã biết 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 khôi phục về nội dung "thông thường".
Bằng cách khôi phục về phiên bản trước, bạn sẽ tạo một bản phát hành mới phân phát cùng 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 về phiên bản trước:
Trong bảng điều khiển Firebase, hãy chuyển đến Hosting và không máy chủ > Hosting.
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 trước mà bạn muốn khôi phục về.
Nhấp vào , rồi chọn Khôi phục về phiên bản trước.
Xoá bản phát hành theo cách thủ công
Bạn có thể cần xoá bản phát hành theo cách thủ công khỏi kênh trực tiếp để 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 đó, chứ không thể xoá bản phát hành hiện đang được phân phát trên trang web trực tiếp của bạn.
Khi bạn 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ẽ được lên lịch xoá trong vòng 24 giờ. Bản thân đối tượng bản phát hành vẫn đượ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á một bản phát hành:
Trong bảng điều khiển Firebase, hãy chuyển đến Hosting và không máy chủ > Hosting.
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 trước mà bạn muốn xoá.
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 khỏi một trang web đã triển khai là xoá các tệp đó cục bộ, rồi 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 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á một 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á 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 được 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ị vô hiệu hoá. 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 khác nhau để xoá một kênh xem trước:
Firebase bảng điều khiển
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
Lệnh CLI cho các kênh xem trước và sao chép
Lệnh cho các kênh xem trước
Tất cả lệnh cho các kênh xem trước đều hỗ trợ mục tiêu triển khai nếu bạn có nhiều Hosting trang web.
| 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
Lệnh này không triển khai đến 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 trực tiếp của trang web. |
firebase hosting:channel:deploy CHANNEL_ID
|
Triển khai nội dung và cấu hình Hosting đến kênh xem trước được chỉ định Nếu kênh xem trước chưa tồn tại, thì 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 "trực tiếp") 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 \
|
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 "mục tiêu" chưa tồn tại, thì lệnh này sẽ tạo một kênh xem trước mới trong trang web Hosting "mục tiêu" trước khi triển khai đến kênh đó. |
firebase hosting:clone \
|
Sao chép phiên bả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 "mục tiêu" chưa tồn tại, thì lệnh này sẽ tạo một kênh xem trước mới trong trang web Hosting "mục tiêu" trước khi triển khai đến kênh đó. Bạn có thể tìm thấy |