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