Mục tiêu triển khai là giá trị nhận dạng tên ngắn (do bạn tự xác định) cho tài nguyên Firebase trong dự án Firebase, chẳng hạn như Trang web lưu trữ có tài sản tĩnh riêng biệt hoặc nhóm thực thể Cơ sở dữ liệu theo thời gian thực có cùng quy tắc bảo mật.
Các mục tiêu triển khai rất hữu ích khi bạn có nhiều trang web lưu trữ, nhiều bộ chứa Cloud Storage hoặc nhiều thực thể Cơ sở dữ liệu theo thời gian thực. Với các mục tiêu triển khai, Giao diện dòng lệnh (CLI) của Firebase có thể triển khai chế độ cài đặt cho một tài nguyên Firebase cụ thể hoặc nhóm tài nguyên trong dự án của bạn, chẳng hạn như:
- Cấu hình lưu trữ cho mỗi trang web Lưu trữ của bạn
- Tài sản tĩnh từ thư mục dự án cho mỗi trang web lưu trữ
- Các quy tắc bảo mật được nhiều thực thể Cơ sở dữ liệu theo thời gian thực hoặc nhiều bộ chứa Cloud Storage dùng chung
Để thiết lập mục tiêu triển khai, hãy làm như sau:
- Áp dụng một
TARGET_NAME
cho tài nguyên Firebase được nhắm mục tiêu hoặc nhóm tài nguyên Firebase. - Trong tệp
firebase.json
, hãy tham chiếu đếnTARGET_NAME
được liên kết khi bạn định cấu hình chế độ cài đặt cho mỗi tài nguyên hoặc nhóm tài nguyên.
Khi bạn chạy các lệnh Firebase CLI (như firebase deploy
), Firebase CLI sẽ ghép nối từng TARGET_NAME
với các tài nguyên Firebase được liên kết. Sau đó, CLI sẽ giao tiếp với dự án Firebase của bạn các chế độ cài đặt cho mỗi tài nguyên.
Thiết lập mục tiêu triển khai cho tài nguyên Firebase của bạn
Bằng cách sử dụng Giao diện dòng lệnh (CLI) của Firebase, hãy áp dụng TARGET_NAME
(giá trị nhận dạng tên ngắn do bạn tự xác định) cho một tài nguyên hoặc nhóm tài nguyên Firebase.
Firebase hỗ trợ triển khai các mục tiêu cho:
- Trang web Lưu trữ Firebase
- Bộ chứa lưu trữ trên Cloud Storage cho Firebase
- Các thực thể của Cơ sở dữ liệu theo thời gian thực của Firebase
Chế độ cài đặt cho các mục tiêu triển khai được lưu trữ trong tệp .firebaserc
trong thư mục dự án. Vì vậy, bạn chỉ cần thiết lập mục tiêu triển khai một lần cho mỗi dự án.
Thiết lập mục tiêu triển khai cho Lưu trữ
Để tạo mục tiêu triển khai và áp dụng TARGET_NAME
cho một trang web Lưu trữ, hãy chạy lệnh CLI sau đây:
firebase target:apply TYPE TARGET_NAME RESOURCE_IDENTIFIER
Vị trí của thông số:
TYPE – loại tài nguyên Firebase có liên quan
- Đối với các trang web Lưu trữ Firebase, hãy sử dụng
hosting
.
- Đối với các trang web Lưu trữ Firebase, hãy sử dụng
TARGET_NAME – tên riêng biệt của trang web Lưu trữ nơi bạn đang triển khai
RESOURCE_IDENTIFIER —
SITE_ID
cho Trang web lưu trữ như được liệt kê trong dự án Firebase của bạn
Ví dụ: nếu đã tạo hai trang web (myapp-blog
và myapp-app
) trong dự án Firebase, bạn có thể áp dụng một TARGET_NAME
duy nhất (lần lượt là blog
và app
) cho mỗi trang web bằng cách chạy các lệnh sau:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
Thiết lập các mục tiêu triển khai cho Cloud Storage hoặc Cơ sở dữ liệu theo thời gian thực
Để tạo mục tiêu triển khai và áp dụng TARGET_NAME
cho một nhóm tài nguyên Cloud Storage hoặc Cơ sở dữ liệu theo thời gian thực, hãy chạy lệnh CLI sau đây:
firebase target:apply TYPE TARGET_NAME RESOURCE-1_IDENTIFIER RESOURCE-2_IDENTIFIER ...
Vị trí của thông số:
TYPE – loại tài nguyên Firebase có liên quan
- Đối với bộ chứa Cloud Storage, hãy dùng
storage
. - Đối với các thực thể Cơ sở dữ liệu theo thời gian thực, hãy sử dụng
database
.
- Đối với bộ chứa Cloud Storage, hãy dùng
TARGET_NAME – tên riêng biệt của tài nguyên hoặc nhóm tài nguyên dùng chung quy tắc bảo mật
RESOURCE_IDENTIFIER – giá trị nhận dạng cho tài nguyên như liệt kê trong dự án Firebase của bạn (như tên bộ chứa lưu trữ hoặc mã thực thể cơ sở dữ liệu) có cùng quy tắc bảo mật
Ví dụ: bạn có thể áp dụng TARGET_NAME
của main
cho một nhóm ba bộ chứa Cloud Storage theo khu vực (tất cả đều dùng chung một quy tắc bảo mật) bằng cách chạy lệnh sau:
firebase target:apply storage main myproject.appspot.com myproject-eu myproject-ja
Xin lưu ý rằng myproject.appspot.com
là giá trị nhận dạng cho bộ chứa mặc định, trong khi myproject-eu
và myproject-ja
là hai nhóm bổ sung được tạo trong dự án Firebase.
Định cấu hình tệp firebase.json để dùng các mục tiêu triển khai
Sau khi thiết lập mục tiêu triển khai cho tài nguyên Firebase, hãy tham chiếu từng TARGET_NAME
được áp dụng trong tệp cấu hình firebase.json
của bạn:
- Tạo một mảng các đối tượng cấu hình cho từng tài nguyên Firebase
TYPE
(hosting
,storage
hoặcdatabase
). - Trong các mảng, hãy chỉ định
target
(bằng cách sử dụngTARGET_NAME
) và xác định chế độ cài đặt cho tài nguyên hoặc nhóm tài nguyên Firebase được liên kết.
Tiếp tục các ví dụ ở trên, trong đó dự án Firebase của bạn có 2 Trang web lưu trữ và 3 bộ chứa Cloud Storage (có cùng quy tắc bảo mật), tệp firebase.json
sẽ có dạng như sau:
{ "hosting": [ { "target": "blog", // "blog" is the applied TARGET_NAME for the Hosting site "myapp-blog" "public": "blog/dist", // contents of this folder are deployed to the site "myapp-blog" // ... }, { "target": "app", // "app" is the applied TARGET_NAME for the Hosting site "myapp-app" "public": "app/dist", // contents of this folder are deployed to the site "myapp-app" // ... "rewrites": [...] // You can define specific Hosting configurations for each site } ] } { "storage": [ { "target": "main", // "main" is the applied TARGET_NAME for the group of Cloud Storage buckets "rules": "storage.main.rules" // the file that contains the shared security rules } ] }
Nếu có nhiều cấu hình cho tài nguyên, bạn có thể tạo nhiều mục tiêu triển khai và chỉ định từng cấu hình trong tệp firebase.json
. Tất cả tài nguyên liên quan sẽ được triển khai cùng nhau khi bạn chạy firebase deploy
.
Quản lý các mục tiêu triển khai
Chế độ cài đặt cho các mục tiêu triển khai được lưu trữ trong tệp .firebaserc
trong thư mục dự án. Bạn có thể quản lý các mục tiêu triển khai của dự án bằng cách chạy bất kỳ lệnh nào sau đây từ gốc của thư mục dự án.
Lệnh | Nội dung mô tả |
---|---|
firebase target
|
Liệt kê các mục tiêu triển khai cho thư mục dự án hiện tại của bạn |
firebase target:remove \
|
Xoá tài nguyên khỏi mục tiêu đã được gán tài nguyên |
firebase target:clear \
|
Xóa tất cả tài nguyên hoặc trang web Lưu trữ khỏi mục tiêu đã chỉ định |
Các lệnh target:remove
và target:clear
sẽ tự động cập nhật chế độ cài đặt mục tiêu triển khai trong tệp .firebaserc
trong thư mục dự án.
Kiểm thử trên máy trước khi triển khai
Chạy một trong các lệnh sau từ gốc của thư mục dự án.
Lệnh | Nội dung mô tả |
---|---|
firebase emulators:start
|
Mô phỏng tất cả các tài nguyên đã định cấu hình trong thư mục dự án của bạn |
firebase emulators:start \ |
Chỉ mô phỏng nội dung và cấu hình của Trang web lưu trữ đã chỉ định |
firebase emulators:start \
|
Chỉ mô phỏng tệp quy tắc của mục tiêu Cloud Storage được chỉ định |
firebase emulators:start \
|
Chỉ mô phỏng tệp quy tắc cho mục tiêu Cơ sở dữ liệu theo thời gian thực đã chỉ định |
Tìm hiểu thêm về cách định cấu hình và sử dụng Bộ công cụ mô phỏng cục bộ Firebase.
Triển khai các tài nguyên Firebase cụ thể
Chạy một trong các lệnh sau từ gốc của thư mục dự án.
Lệnh | Nội dung mô tả |
---|---|
firebase deploy
|
Tạo bản phát hành cho tất cả tài nguyên có thể triển khai trong thư mục dự án |
firebase deploy \
|
Chỉ triển khai nội dung Lưu trữ và cấu hình của trang web Lưu trữ đã chỉ định cho kênh trực tiếp của trang web |
firebase hosting:channel:deploy CHANNEL_ID \ |
Chỉ triển khai cấu hình và nội dung Lưu trữ của trang web Lưu trữ đã chỉ định cho kênh xem trước của trang web đó |
firebase deploy \
|
Chỉ triển khai tệp quy tắc cho mục tiêu Bộ nhớ đã chỉ định |
firebase deploy \
|
Chỉ triển khai tệp quy tắc cho mục tiêu Cơ sở dữ liệu theo thời gian thực đã chỉ định |