เป้าหมายที่ทำให้ใช้งานได้ คือตัวระบุชื่อย่อ (ซึ่งคุณกำหนดด้วยตัวเอง) ทรัพยากร Firebase ในโปรเจ็กต์ Firebase เช่น เว็บไซต์ Hosting ที่มี เนื้อหาแบบคงที่หรือกลุ่มของอินสแตนซ์ Realtime Database รายการที่มีการรักษาความปลอดภัยเดียวกัน กฎ
เป้าหมายที่ทำให้ใช้งานได้จะมีประโยชน์เมื่อคุณมี Hosting หลายเว็บไซต์ ที่เก็บข้อมูล Cloud Storage หลายที่เก็บข้อมูล หรือ อินสแตนซ์ Realtime Database หลายรายการ เมื่อมีเป้าหมายการทำให้ใช้งานได้ จะทำให้ CLI ของ Firebase สามารถทำให้การตั้งค่าใช้งานได้ในเฉพาะบาง ทรัพยากรหรือกลุ่มทรัพยากรของ Firebase ในโปรเจ็กต์ เช่น
- การกำหนดค่าโฮสติ้งสำหรับเว็บไซต์ Hosting แต่ละรายการ
- ชิ้นงานแบบคงที่จากไดเรกทอรีโปรเจ็กต์สำหรับ Hosting แต่ละรายการ เว็บไซต์
- กฎความปลอดภัยที่แชร์โดยอินสแตนซ์ Realtime Database หลายรายการหรือหลายรายการ ที่เก็บข้อมูล Cloud Storage รายการ
วิธีตั้งค่าเป้าหมายการทำให้ใช้งานได้
- ใช้
TARGET_NAME
กับ Firebase เป้าหมาย หรือกลุ่มทรัพยากร Firebase - ในไฟล์
firebase.json
อ้างอิงTARGET_NAME
ที่เกี่ยวข้อง เมื่อคุณกำหนดการตั้งค่าสำหรับทรัพยากรหรือกลุ่มของทรัพยากรแต่ละรายการ
เมื่อคุณเรียกใช้คำสั่ง CLI Firebase (เช่น
firebase deploy
) CLI ของ Firebase จะจับคู่ TARGET_NAME
แต่ละรายการกับ
ทรัพยากร Firebase ที่เกี่ยวข้อง จากนั้น CLI จะสื่อสารกับ Firebase ของคุณ
แสดงการตั้งค่าสำหรับทรัพยากรแต่ละรายการ
ตั้งค่าเป้าหมายการทำให้ใช้งานได้สำหรับทรัพยากร Firebase
ใช้ Firebase CLI ให้ใช้ TARGET_NAME
(ตัวระบุชื่อย่อที่
ที่คุณกำหนดด้วยตนเอง) ให้กับทรัพยากร Firebase หรือกลุ่มทรัพยากร Firebase
Firebase รองรับเป้าหมายการทำให้ใช้งานได้สำหรับ
- Firebase Hosting เว็บไซต์
- ที่เก็บข้อมูลของพื้นที่เก็บข้อมูล Cloud Storage for Firebase รายการ
- Firebase Realtime Database อินสแตนซ์
การตั้งค่าสำหรับการปรับใช้เป้าหมายจะได้รับการจัดเก็บไว้ในไฟล์ .firebaserc
ใน
ไดเรกทอรีโครงการ ดังนั้นคุณจะต้องตั้งค่าเป้าหมายการทำให้ใช้งานได้เพียงครั้งเดียวต่อ
ตั้งค่าเป้าหมายการทำให้ใช้งานได้สำหรับ Hosting
หากต้องการสร้างเป้าหมายการทำให้ใช้งานได้และใช้ TARGET_NAME
กับเว็บไซต์ Hosting ให้เรียกใช้
คำสั่ง CLI ต่อไปนี้
firebase target:apply TYPE TARGET_NAME RESOURCE_IDENTIFIER
โดยพารามิเตอร์มีดังนี้
TYPE — ประเภททรัพยากร Firebase ที่เกี่ยวข้อง
- สำหรับเว็บไซต์ Firebase Hosting ให้ใช้
hosting
- สำหรับเว็บไซต์ Firebase Hosting ให้ใช้
TARGET_NAME — ชื่อที่ไม่ซ้ำกันสำหรับเว็บไซต์ Hosting ของคุณ กำลังทำให้ใช้งานได้กับ
RESOURCE_IDENTIFIER —
SITE_ID
ของไซต์ Hosting เป็น แสดงอยู่ในโปรเจ็กต์ Firebase
เช่น หากคุณสร้างเว็บไซต์ 2 แห่ง
(myapp-blog
และ myapp-app
) ในโปรเจ็กต์ Firebase คุณสามารถใช้
TARGET_NAME
ที่ไม่ซ้ำ (blog
และ app
ตามลำดับ) ไปยังแต่ละเว็บไซต์โดยการเรียกใช้
คำสั่งต่อไปนี้
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
ตั้งค่าเป้าหมายการทำให้ใช้งานได้สำหรับ Cloud Storage หรือ Realtime Database
วิธีสร้างเป้าหมายการทำให้ใช้งานได้และใช้ TARGET_NAME
กับชุด
ทรัพยากร Cloud Storage หรือ Realtime Database ให้เรียกใช้ CLI ต่อไปนี้
คำสั่ง:
firebase target:apply TYPE TARGET_NAME RESOURCE-1_IDENTIFIER RESOURCE-2_IDENTIFIER ...
โดยพารามิเตอร์มีดังนี้
TYPE — ประเภททรัพยากร Firebase ที่เกี่ยวข้อง
- สำหรับที่เก็บข้อมูล Cloud Storage รายการ ให้ใช้
storage
- สำหรับอินสแตนซ์ Realtime Database ให้ใช้
database
- สำหรับที่เก็บข้อมูล Cloud Storage รายการ ให้ใช้
TARGET_NAME — ชื่อที่ไม่ซ้ำกันสำหรับทรัพยากรหรือกลุ่มของทรัพยากร ที่แชร์กฎความปลอดภัย
RESOURCE_IDENTIFIER — ตัวระบุสำหรับทรัพยากร เช่น แสดงอยู่ในโปรเจ็กต์ Firebase (เช่น ชื่อที่เก็บข้อมูลหรือฐานข้อมูลของพื้นที่เก็บข้อมูล รหัสอินสแตนซ์ทั้งหมด) ที่อยู่ภายใต้กฎความปลอดภัยเดียวกัน
ตัวอย่างเช่น คุณสามารถใช้ TARGET_NAME
ของ main
กับกลุ่ม
ที่เก็บข้อมูล Cloud Storage ระดับภูมิภาค (ซึ่งมีกฎความปลอดภัยเดียวกันทั้งหมด)
โดยเรียกใช้คำสั่งต่อไปนี้
firebase target:apply storage main myproject.appspot.com myproject-eu myproject-ja
โปรดทราบว่า myproject.appspot.com
คือตัวระบุสำหรับที่เก็บข้อมูลเริ่มต้น
ในขณะที่ myproject-eu
และ myproject-ja
คือที่เก็บข้อมูลเพิ่มเติม 2 รายการที่สร้างใน
โปรเจ็กต์ Firebase
กำหนดค่าไฟล์ firebase.json เพื่อใช้เป้าหมายการทำให้ใช้งานได้
หลังจากที่คุณตั้งค่าเป้าหมายการทำให้ใช้งานได้สำหรับทรัพยากร Firebase แล้ว ให้อ้างอิงแต่ละรายการ
ใช้ TARGET_NAME
ใน
ไฟล์การกำหนดค่า firebase.json
:
- สร้างอาร์เรย์ของออบเจ็กต์การกำหนดค่าสำหรับทรัพยากร Firebase แต่ละรายการ
TYPE
(hosting
,storage
หรือdatabase
) - ในอาร์เรย์ ให้ระบุ
target
(โดยใช้TARGET_NAME
) และกำหนด การตั้งค่าสำหรับทรัพยากรหรือกลุ่มทรัพยากร Firebase ที่เกี่ยวข้อง
มาดูตัวอย่างต่อจากด้านบน ซึ่งโปรเจ็กต์ Firebase ของคุณมี
เว็บไซต์ Hosting รายการและที่เก็บข้อมูล Cloud Storage 3 รายการ (ที่แชร์เหมือนกัน
กฎความปลอดภัย) ไฟล์ firebase.json
ของคุณจะมีลักษณะดังนี้
{ "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 } ] }
หากมีการกำหนดค่าหลายรายการสำหรับทรัพยากร คุณจะสร้างได้หลายรายการ
ทำให้เป้าหมายใช้งานได้และระบุเป้าหมายแต่ละรายการในไฟล์ firebase.json
ทั้งหมดที่เชื่อมโยง
ทรัพยากรจะทำงานด้วยกันเมื่อคุณเรียกใช้ firebase deploy
จัดการเป้าหมายการทำให้ใช้งานได้
การตั้งค่าสำหรับการปรับใช้เป้าหมายจะได้รับการจัดเก็บไว้ในไฟล์ .firebaserc
ใน
ไดเรกทอรีโปรเจ็กต์ คุณสามารถจัดการเป้าหมายการทำให้ใช้งานได้ของโปรเจ็กต์โดยการเรียกใช้
คำสั่งต่อไปนี้จากรูทของไดเรกทอรีโปรเจ็กต์
คำสั่ง | คำอธิบาย |
---|---|
firebase target
|
แสดงรายการเป้าหมายการทำให้ใช้งานได้สำหรับไดเรกทอรีโปรเจ็กต์ปัจจุบัน |
firebase target:remove \
|
นำทรัพยากรออกจากเป้าหมายที่มอบหมายไว้ |
firebase target:clear \
|
นำทรัพยากรหรือเว็บไซต์ Hosting ทั้งหมดออกจากที่ระบุ เป้าหมาย |
คำสั่ง target:remove
และ target:clear
จะอัปเดตการทำให้ใช้งานได้โดยอัตโนมัติ
การตั้งค่าเป้าหมายในไฟล์ .firebaserc
ในไดเรกทอรีโปรเจ็กต์
ทดสอบในเครื่องก่อนทำให้ใช้งานได้
เรียกใช้คำสั่งต่อไปนี้จากรูทของไดเรกทอรีโปรเจ็กต์
คำสั่ง | คำอธิบาย |
---|---|
firebase emulators:start
|
จำลองทรัพยากรที่กำหนดค่าไว้ทั้งหมดในโปรเจ็กต์ของคุณ ไดเรกทอรี |
firebase emulators:start \ |
จำลองเฉพาะเนื้อหา Hosting และการกำหนดค่าของ เว็บไซต์ Hosting ที่ระบุ |
firebase emulators:start \
|
จำลองเฉพาะไฟล์กฎสำหรับ Cloud Storage ที่ระบุ เป้าหมาย |
firebase emulators:start \
|
จำลองเฉพาะไฟล์กฎสำหรับเป้าหมาย Realtime Database ที่ระบุ |
ดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าและการใช้ Firebase Local Emulator Suite
ทำให้ทรัพยากร Firebase ที่ระบุใช้งานได้
เรียกใช้คำสั่งต่อไปนี้จากรูทของไดเรกทอรีโปรเจ็กต์
คำสั่ง | คำอธิบาย |
---|---|
firebase deploy
|
สร้างรุ่นของทรัพยากรที่ทำให้ใช้งานได้ทั้งหมดในโปรเจ็กต์ของคุณ ไดเรกทอรี |
firebase deploy \
|
ทำให้ใช้งานได้เฉพาะเนื้อหาและการกำหนดค่าของ Hosting ระบุเว็บไซต์ Hosting ให้ช่องที่เผยแพร่อยู่สำหรับเว็บไซต์นั้น |
firebase hosting:channel:deploy CHANNEL_ID \ |
ทำให้ใช้งานได้เฉพาะเนื้อหาและการกำหนดค่าของ Hosting ระบุเว็บไซต์ Hosting ให้กับ ตัวอย่างช่องสำหรับ เว็บไซต์ |
firebase deploy \
|
ทำให้ใช้งานได้เฉพาะไฟล์กฎสำหรับ Cloud Storage ที่ระบุ เป้าหมาย |
firebase deploy \
|
ทำให้ใช้งานได้เฉพาะไฟล์กฎสำหรับเป้าหมาย Realtime Database ที่ระบุ |