Triển khai mục tiêu là các 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 của bạn, như một trang web Hosting có duy nhất thành phần tĩnh hoặc một nhóm Realtime Database thực thể có cùng mức độ bảo mật quy tắc.
Việc triển khai mục tiêu sẽ hữu ích khi bạn nhiều trang web Hosting, nhiều bộ chứa Cloud Storage hoặc nhiều thực thể Realtime Database. Với các mục tiêu triển khai, CLI Firebase có thể triển khai các chế độ cài đặt cho một cụ thể Tài nguyên hoặc nhóm tài nguyên trên Firebase trong dự án của bạn, chẳng hạn như:
- Cấu hình lưu trữ cho mỗi trang web trong số Hosting trang web của bạn
- Các thành phần tĩnh trong thư mục dự án của bạn đối với mỗi Hosting trang web
- Quy tắc bảo mật được nhiều thực thể Realtime Database hoặc nhiều thực thể dùng chung Cloud Storage bộ chứa
Cách thiết lập mục tiêu triển khai:
- Áp dụng
TARGET_NAME
cho Firebase được nhắm mục tiêu hoặc nhóm tài nguyên Firebase. - Trong tệp
firebase.json
, tham chiếu đếnTARGET_NAME
được liên kết khi bạn định cấu hình chế độ cài đặt cho từng tài nguyên hoặc nhóm tài nguyên.
Khi bạn chạy Firebase lệnh CLI (chẳng hạn như
firebase deploy
), CLI Firebase sẽ ghép từng TARGET_NAME
với
Firebase được liên kết. Sau đó, CLI sẽ giao tiếp với Firebase của bạn
chiếu chế độ cài đặt cho mỗi tài nguyên.
Thiết lập mục tiêu triển khai cho các tài nguyên Firebase của bạn
Sử dụng CLI Firebase, áp dụng TARGET_NAME
(mã nhận dạng tên ngắn
bạn xác định) thành một nhóm tài nguyên Firebase hoặc nhóm tài nguyên Firebase.
Firebase hỗ trợ triển khai các mục tiêu cho:
- Firebase Hosting trang web
- Cloud Storage for Firebase bộ chứa lưu trữ
- Firebase Realtime Database thực thể
Chế độ cài đặt cho các mục tiêu triển khai được lưu trữ trong tệp .firebaserc
trong
dự án, nên 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 Hosting
Để tạo mục tiêu triển khai và áp dụng TARGET_NAME
cho trang web Hosting, hãy chạy
lệnh CLI sau đây:
firebase target:apply TYPE TARGET_NAME RESOURCE_IDENTIFIER
Trong đó các thông số:
TYPE – loại tài nguyên Firebase có liên quan
- Đối với các trang web Firebase Hosting, hãy sử dụng
hosting
.
- Đối với các trang web Firebase Hosting, hãy sử dụng
TARGET_NAME — tên riêng biệt cho trang web Hosting mà bạn đang truy cập triển khai cho
RESOURCE_IDENTIFIER —
SITE_ID
cho trang web Hosting dưới dạng được liệt kê trong dự án Firebase của bạn
Ví dụ: nếu bạn đã tạo hai trang web
(myapp-blog
và myapp-app
) trong dự án Firebase của mình, thì bạn có thể áp dụng một
TARGET_NAME
duy nhất (tương ứng 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 mục tiêu triển khai cho Cloud Storage hoặc Realtime Database
Để tạo mục tiêu triển khai và áp dụng TARGET_NAME
cho tập hợp
Tài nguyên Cloud Storage hoặc Realtime Database, hãy chạy CLI sau
:
firebase target:apply TYPE TARGET_NAME RESOURCE-1_IDENTIFIER RESOURCE-2_IDENTIFIER ...
Trong đó các 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 sử dụng
storage
. - Đối với các thực thể Realtime Database, hãy sử dụng
database
.
- Đối với bộ chứa Cloud Storage, hãy sử dụng
TARGET_NAME – tên riêng biệt cho tài nguyên hoặc nhóm tài nguyên chia sẻ quy tắc bảo mật
RESOURCE_IDENTIFIER — giá trị nhận dạng tài nguyên dưới dạng được liệt kê trong dự án Firebase (chẳng hạn như tên bộ chứa lưu trữ hoặc cơ sở dữ liệu mã thực thể) 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 gồm ba
bộ chứa Cloud Storage theo khu vực (tất cả đều có cùng 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
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 để sử dụng các mục tiêu triển khai
Sau khi bạn thiết lập mục tiêu triển khai cho các tài nguyên Firebase của mình, hãy tham khảo từng
đã áp dụng TARGET_NAME
trong
firebase.json
tệp cấu hình:
- Tạo một mảng đối tượng cấu hình cho mỗi tài nguyên Firebase
TYPE
(hosting
,storage
hoặcdatabase
). - Trong các mảng, hãy chỉ định
target
(bằngTARGET_NAME
) và định nghĩa chế độ cài đặt của bạn cho nhóm tài nguyên hoặc 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ó hai
Hosting trang web và ba bộ chứa Cloud Storage (dùng chung trang web
quy tắc bảo mật), tệp firebase.json
của bạn 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 của mình, bạn có thể tạo nhiều
triển khai mục tiêu và chỉ định từng mục tiêu trong tệp firebase.json
. Tất cả liên kết
các tài nguyên sẽ được triển khai cùng nhau khi bạn chạy firebase deploy
.
Quản lý 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ỳ
trong các lệnh sau từ gốc của thư mục dự án.
Lệnh | 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 mà tài nguyên đó đã được gán vào |
firebase target:clear \
|
Xoá tất cả tài nguyên hoặc trang web Hosting khỏi trang web được chỉ định mục tiêu |
Các lệnh target:remove
và target:clear
sẽ tự động cập nhật quá trình triển khai
cài đặt mục tiêu trong tệp .firebaserc
trong thư mục dự án của bạn.
Kiểm thử cục bộ trước khi triển khai
Chạy bất kỳ lệnh nào sau đây từ gốc của thư mục dự án.
Lệnh | Mô tả |
---|---|
firebase emulators:start
|
Mô phỏng tất cả các tài nguyên đã định cấu hình trong dự án của bạn thư mục |
firebase emulators:start \ |
Chỉ mô phỏng nội dung và cấu hình Hosting của trang web Hosting được chỉ định |
firebase emulators:start \
|
Chỉ mô phỏng tệp quy tắc cho Cloud Storage được chỉ định mục tiêu |
firebase emulators:start \
|
Chỉ mô phỏng tệp quy tắc cho mục tiêu Realtime Database được chỉ định |
Tìm hiểu thêm về cách định cấu hình và sử dụng Firebase Local Emulator Suite.
Triển khai các tài nguyên Firebase cụ thể
Chạy bất kỳ lệnh nào sau đây từ gốc của thư mục dự án.
Lệnh | Mô tả |
---|---|
firebase deploy
|
Tạo bản phát hành tất cả tài nguyên có thể triển khai trong dự án thư mục |
firebase deploy \
|
Chỉ triển khai nội dung và cấu hình Hosting của trang web đã chỉ định Hosting cho kênh trực tiếp của trang web đó |
firebase hosting:channel:deploy CHANNEL_ID \ |
Chỉ triển khai nội dung và cấu hình Hosting của trang web được chỉ định Hosting cho một kênh xem trước cho trang web |
firebase deploy \
|
Chỉ triển khai tệp quy tắc cho Cloud Storage được chỉ định mục tiêu |
firebase deploy \
|
Chỉ triển khai tệp quy tắc cho mục tiêu Realtime Database được chỉ định |