Firebase CLI (GitHub) มี เครื่องมือมากมายสําหรับการจัดการ ดู และติดตั้งใช้งานในโปรเจ็กต์ Firebase
ก่อนใช้ Firebase CLI ให้ตั้งค่าโปรเจ็กต์ Firebase
ตั้งค่าหรืออัปเดต CLI
ติดตั้ง Firebase CLI
คุณติดตั้ง Firebase CLI ได้โดยใช้วิธีที่ตรงกับระบบปฏิบัติการ ระดับประสบการณ์ และ/หรือกรณีการใช้งาน ไม่ว่าคุณจะติดตั้ง CLI อย่างไร คุณก็จะมีสิทธิ์เข้าถึงฟังก์ชันการทำงานเดียวกันและคำสั่ง firebase
Windows
คุณติดตั้ง FirebaseCLI สำหรับ Windows ได้โดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
ตัวเลือก | คำอธิบาย | แนะนำสำหรับ... |
---|---|---|
ไบนารีแบบสแตนด์อโลน | ดาวน์โหลดไบนารีแบบสแตนด์อโลนสำหรับ CLI จากนั้นคุณจะเข้าถึง
ไฟล์ที่เรียกใช้งานได้เพื่อเปิดเชลล์ที่คุณเรียกใช้คำสั่ง firebase ได้
|
นักพัฒนาแอปใหม่ นักพัฒนาแอปที่ไม่ได้ใช้หรือไม่คุ้นเคยกับ Node.js |
npm | ใช้ npm (ตัวจัดการแพ็กเกจของ Node) เพื่อติดตั้ง CLI และเปิดใช้
คำสั่ง firebase ที่พร้อมใช้งานทั่วโลก
|
นักพัฒนาซอฟต์แวร์ที่ใช้ Node.js |
ไบนารีแบบสแตนด์อโลน
หากต้องการดาวน์โหลดและเรียกใช้ไบนารีสำหรับ Firebase CLI ให้ทำตามขั้นตอนต่อไปนี้
ดาวน์โหลดไบนารีของ Firebase CLI สำหรับ Windows
เข้าถึงไบนารีเพื่อเปิดเชลล์ที่คุณเรียกใช้คำสั่ง
firebase
ได้เข้าสู่ระบบและทดสอบ CLI ต่อไป
npm
หากต้องการใช้ npm
(Node Package Manager) เพื่อติดตั้ง Firebase CLI ให้ทำตามขั้นตอนต่อไปนี้
ติดตั้ง Node.js โดยใช้ nvm-windows (ตัวจัดการเวอร์ชันของ Node) การติดตั้ง Node.js จะเป็นการติดตั้งเครื่องมือคำสั่ง
npm
โดยอัตโนมัติติดตั้ง Firebase CLI ผ่าน
npm
โดยการเรียกใช้คำสั่งต่อไปนี้npm install -g firebase-tools
คำสั่งนี้จะเปิดใช้คำสั่ง
firebase
ที่พร้อมใช้งานทั่วโลกเข้าสู่ระบบและทดสอบ CLI ต่อไป
macOS หรือ Linux
คุณติดตั้ง Firebase CLI สำหรับ macOS หรือ Linux ได้โดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
ตัวเลือก | คำอธิบาย | แนะนำสำหรับ... |
---|---|---|
สคริปต์การติดตั้งอัตโนมัติ | เรียกใช้คำสั่งเดียวที่จะตรวจหา
ระบบปฏิบัติการโดยอัตโนมัติ ดาวน์โหลด CLI เวอร์ชันล่าสุด แล้วเปิดใช้คำสั่ง firebase
ที่พร้อมใช้งานทั่วโลก
|
นักพัฒนาแอปใหม่ นักพัฒนาแอปที่ไม่ได้ใช้หรือไม่คุ้นเคยกับ Node.js การทำให้ใช้งานได้อัตโนมัติในสภาพแวดล้อม CI/CD |
ไบนารีแบบสแตนด์อโลน | ดาวน์โหลดไบนารีแบบสแตนด์อโลนสำหรับ CLI จากนั้นคุณจะ กำหนดค่าและเรียกใช้ไบนารีให้เหมาะกับเวิร์กโฟลว์ได้ | เวิร์กโฟลว์ที่ปรับแต่งได้อย่างเต็มที่โดยใช้ CLI |
npm | ใช้ npm (ตัวจัดการแพ็กเกจของ Node) เพื่อติดตั้ง CLI และเปิดใช้
คำสั่ง firebase ที่พร้อมใช้งานทั่วโลก
|
นักพัฒนาซอฟต์แวร์ที่ใช้ Node.js |
สคริปต์การติดตั้งอัตโนมัติ
หากต้องการติดตั้ง Firebase CLI โดยใช้สคริปต์การติดตั้งอัตโนมัติ ให้ทำตามขั้นตอนต่อไปนี้
เรียกใช้คำสั่ง cURL ต่อไปนี้
curl -sL https://firebase.tools | bash
สคริปต์นี้จะตรวจหาระบบปฏิบัติการของคุณโดยอัตโนมัติ ดาวน์โหลด Firebase CLI เวอร์ชันล่าสุด แล้วเปิดใช้คำสั่ง
firebase
ที่พร้อมให้บริการทั่วโลกเข้าสู่ระบบและทดสอบ CLI ต่อไป
ดูตัวอย่างเพิ่มเติมและรายละเอียดเกี่ยวกับสคริปต์การติดตั้งอัตโนมัติได้ที่ ซอร์สโค้ดของสคริปต์ที่ firebase.tools
ไบนารีแบบสแตนด์อโลน
หากต้องการดาวน์โหลดและเรียกใช้ไบนารีสำหรับ Firebase CLI ที่เฉพาะเจาะจง สำหรับระบบปฏิบัติการของคุณ ให้ทำตามขั้นตอนต่อไปนี้
ดาวน์โหลดไบนารี CLI ของ Firebase สำหรับระบบปฏิบัติการของคุณ macOS | Linux
(ไม่บังคับ) ตั้งค่าคำสั่ง
firebase
ที่ใช้ได้ทั่วโลก- ทำให้ไบนารีเรียกใช้งานได้โดยเรียกใช้
chmod +x ./firebase_tools
- เพิ่มเส้นทางของไบนารีลงใน PATH
- ทำให้ไบนารีเรียกใช้งานได้โดยเรียกใช้
เข้าสู่ระบบและทดสอบ CLI ต่อไป
npm
หากต้องการใช้ npm
(ตัวจัดการแพ็กเกจของ Node) เพื่อติดตั้ง Firebase CLI ให้ทำตามขั้นตอนต่อไปนี้
ติดตั้ง Node.js โดยใช้ nvm (ตัวจัดการเวอร์ชันของ Node)
การติดตั้ง Node.js จะเป็นการติดตั้ง เครื่องมือคำสั่งnpm
โดยอัตโนมัติติดตั้ง Firebase CLI ผ่าน
npm
โดยการเรียกใช้คำสั่งต่อไปนี้npm install -g firebase-tools
คำสั่งนี้จะเปิดใช้คำสั่ง
firebase
ที่พร้อมใช้งานทั่วโลกเข้าสู่ระบบและทดสอบ CLI ต่อไป
เข้าสู่ระบบและทดสอบ Firebase CLI
หลังจากติดตั้ง CLI แล้ว คุณต้องตรวจสอบสิทธิ์ จากนั้นคุณจะยืนยัน การตรวจสอบสิทธิ์ได้โดยแสดงโปรเจ็กต์ Firebase
เข้าสู่ระบบ Firebase โดยใช้บัญชี Google โดยเรียกใช้คำสั่งต่อไปนี้
firebase login
คำสั่งนี้จะเชื่อมต่อเครื่องในพื้นที่กับ Firebase และให้สิทธิ์คุณ เข้าถึงโปรเจ็กต์ Firebase
ทดสอบว่าได้ติดตั้ง CLI อย่างถูกต้องและเข้าถึงบัญชีโดย แสดงโปรเจ็กต์ Firebase เรียกใช้คำสั่งต่อไปนี้
firebase projects:list
รายการที่แสดงควรเหมือนกับโปรเจ็กต์ Firebase ที่แสดงในคอนโซล Firebase
อัปเดตเป็น CLI เวอร์ชันล่าสุด
โดยทั่วไปแล้ว คุณควรใช้ FirebaseCLI เวอร์ชันล่าสุด
วิธีอัปเดตเวอร์ชัน CLI จะขึ้นอยู่กับระบบปฏิบัติการและวิธีที่คุณ ติดตั้ง CLI
Windows
- ไบนารีแบบสแตนด์อโลน: ดาวน์โหลด เวอร์ชันใหม่ แล้วแทนที่ในระบบ
- npm: เรียกใช้
npm install -g firebase-tools
macOS
สคริปต์การติดตั้งอัตโนมัติ: เรียกใช้
curl -sL https://firebase.tools | upgrade=true bash
ไบนารีแบบสแตนด์อโลน: ดาวน์โหลดเวอร์ชันใหม่ แล้ว แทนที่ในระบบ
npm: เรียกใช้
npm install -g firebase-tools
Linux
สคริปต์การติดตั้งอัตโนมัติ: เรียกใช้
curl -sL https://firebase.tools | upgrade=true bash
ไบนารีแบบสแตนด์อโลน: ดาวน์โหลดเวอร์ชันใหม่ แล้ว แทนที่ในระบบ
npm: เรียกใช้
npm install -g firebase-tools
ใช้ CLI กับระบบ CI
เราขอแนะนำให้คุณตรวจสอบสิทธิ์โดยใช้ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชันเมื่อใช้ CLI กับระบบ CI
(แนะนำ) ใช้ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน
Firebase CLI จะตรวจหาและใช้ข้อมูลรับรองเริ่มต้นของแอปพลิเคชันหากมีการตั้งค่าไว้ วิธีที่ง่ายที่สุดในการตรวจสอบสิทธิ์ CLI ใน CI และสภาพแวดล้อมอื่นๆ แบบไม่มีส่วนหัวคือการตั้งค่าข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน
(เดิม) ใช้ FIREBASE_TOKEN
หรือจะตรวจสอบสิทธิ์โดยใช้ FIREBASE_TOKEN
ก็ได้ ซึ่งมีความปลอดภัยน้อยกว่า
ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน และเราไม่แนะนำให้ใช้แล้ว
ในเครื่องที่มีเบราว์เซอร์ ให้ ติดตั้ง Firebase CLI
เริ่มกระบวนการลงชื่อเข้าใช้โดยเรียกใช้คำสั่งต่อไปนี้
firebase login:ci
ไปที่ URL ที่ระบุ แล้วเข้าสู่ระบบโดยใช้บัญชี Google
พิมพ์โทเค็นการรีเฟรชใหม่ เซสชัน CLI ปัจจุบันจะไม่ได้รับผลกระทบ
จัดเก็บโทเค็นเอาต์พุตอย่างปลอดภัยแต่เข้าถึงได้ในระบบ CI
ใช้โทเค็นนี้เมื่อเรียกใช้คำสั่ง
firebase
คุณใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้ได้ตัวเลือกที่ 1: จัดเก็บโทเค็นเป็นตัวแปรสภาพแวดล้อม
FIREBASE_TOKEN
ระบบจะใช้โทเค็นโดยอัตโนมัติตัวเลือกที่ 2: เรียกใช้คำสั่ง
firebase
ทั้งหมดด้วยแฟล็ก--token TOKEN
ในระบบ CI
ลำดับความสำคัญของการโหลดโทเค็นคือ แฟล็ก ตัวแปรสภาพแวดล้อม และโปรเจ็กต์ Firebase ที่ต้องการ
เริ่มต้นโปรเจ็กต์ Firebase
งานทั่วไปหลายอย่างที่ทำโดยใช้ CLI เช่น การติดตั้งใช้งานในโปรเจ็กต์ Firebase
ต้องใช้ไดเรกทอรีโปรเจ็กต์ คุณสร้างไดเรกทอรีโปรเจ็กต์
โดยใช้คำสั่ง firebase init
โดยปกติแล้ว ไดเรกทอรีโปรเจ็กต์จะเหมือนกับ
ไดเรกทอรีรากของการควบคุมแหล่งที่มา และหลังจากเรียกใช้ firebase init
แล้ว
ไดเรกทอรีจะมีไฟล์การกำหนดค่า firebase.json
หากต้องการเริ่มต้นโปรเจ็กต์ Firebase ใหม่ ให้เรียกใช้คำสั่งต่อไปนี้จากภายในไดเรกทอรีของแอป
firebase init
คำสั่ง firebase init
จะแนะนำขั้นตอนการตั้งค่าไดเรกทอรีโปรเจ็กต์
และผลิตภัณฑ์ Firebase บางอย่าง ในระหว่างการเริ่มต้นโปรเจ็กต์ Firebase CLI
จะขอให้คุณทํางานต่อไปนี้ให้เสร็จสมบูรณ์
เลือกโปรเจ็กต์ Firebase เริ่มต้น
ขั้นตอนนี้จะเชื่อมโยงไดเรกทอรีโปรเจ็กต์ปัจจุบันกับโปรเจ็กต์ Firebase เพื่อให้คำสั่งเฉพาะโปรเจ็กต์ (เช่น
firebase deploy
) ทำงานกับโปรเจ็กต์ Firebase ที่เหมาะสมนอกจากนี้ คุณยังเชื่อมโยงโปรเจ็กต์ Firebase หลายโปรเจ็กต์ (เช่น โปรเจ็กต์ทดสอบและโปรเจ็กต์ที่ใช้งานจริง) กับไดเรกทอรีโปรเจ็กต์เดียวกันได้ด้วย
เลือกผลิตภัณฑ์ Firebase ที่ต้องการตั้งค่าในโปรเจ็กต์ Firebase
ขั้นตอนนี้จะแจ้งให้คุณตั้งค่าสำหรับไฟล์ที่เฉพาะเจาะจงสำหรับ ผลิตภัณฑ์ที่เลือก ดูรายละเอียดเพิ่มเติมเกี่ยวกับการกำหนดค่าเหล่านี้ได้ในเอกสารประกอบของผลิตภัณฑ์ที่เฉพาะเจาะจง (เช่น Hosting) โปรดทราบว่าคุณสามารถเรียกใช้
firebase init
ในภายหลังเพื่อตั้งค่าผลิตภัณฑ์ Firebase เพิ่มเติมได้เสมอ
เมื่อสิ้นสุดการเริ่มต้น Firebase จะสร้างไฟล์ 2 ไฟล์ต่อไปนี้โดยอัตโนมัติที่รูทของไดเรกทอรีแอปในเครื่อง
ไฟล์การกำหนดค่า
firebase.json
ที่แสดงรายการ การกำหนดค่าโปรเจ็กต์ไฟล์
.firebaserc
ที่จัดเก็บนามแฝงของโปรเจ็กต์
ไฟล์ firebase.json
คำสั่ง firebase init
จะสร้างไฟล์การกำหนดค่า firebase.json
ในรูทของไดเรกทอรีโปรเจ็กต์
คุณต้องมีไฟล์ firebase.json
เพื่อติดตั้งใช้งานชิ้นงานด้วย Firebase CLI เนื่องจากไฟล์นี้จะระบุไฟล์และการตั้งค่าจากไดเรกทอรีโปรเจ็กต์ที่จะติดตั้งใช้งานในโปรเจ็กต์ Firebase เนื่องจากมีการกำหนดการตั้งค่าบางอย่างได้ทั้งในไดเรกทอรีโปรเจ็กต์และในFirebaseคอนโซล
โปรดตรวจสอบว่าคุณได้แก้ไขความขัดแย้งในการติดตั้งใช้งานที่อาจเกิดขึ้นแล้ว
คุณกำหนดค่าตัวเลือกFirebase Hostingส่วนใหญ่
ได้โดยตรงในไฟล์ firebase.json
อย่างไรก็ตาม สำหรับ
บริการอื่นๆ ของ Firebase ที่สามารถติดตั้งใช้งานได้ด้วย Firebase CLI
คำสั่ง firebase init
จะสร้างไฟล์ที่เฉพาะเจาะจงซึ่งคุณสามารถกำหนดการตั้งค่า
สำหรับบริการเหล่านั้นได้ เช่น ไฟล์ index.js
สำหรับ Cloud Functions นอกจากนี้ คุณยังตั้งค่าฮุกก่อนหรือหลังการติดตั้งใช้งานในไฟล์ firebase.json
ได้ด้วย
ต่อไปนี้คือตัวอย่างไฟล์ firebase.json
ที่มีการตั้งค่าเริ่มต้นหากคุณเลือก Firebase Hosting, Cloud Firestore และ Cloud Functions for Firebase
(โดยเลือกแหล่งที่มาของ TypeScript และตัวเลือกการตรวจสอบ) ในระหว่างการเริ่มต้น
{
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
},
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"functions": {
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint",
"npm --prefix \"$RESOURCE_DIR\" run build"
]
}
}
แม้ว่าระบบจะใช้ firebase.json
โดยค่าเริ่มต้น แต่คุณก็ส่งแฟล็ก
--config PATH
เพื่อระบุไฟล์การกำหนดค่า
อื่นได้
การกำหนดค่าสำหรับฐานข้อมูล Cloud Firestore หลายรายการ
เมื่อเรียกใช้ firebase init
ไฟล์ firebase.json
จะมีคีย์เดียว
firestore
ที่สอดคล้องกับฐานข้อมูลเริ่มต้นของโปรเจ็กต์ ดังที่แสดง
ด้านบน
หากโปรเจ็กต์มีฐานข้อมูล Cloud Firestore หลายรายการ ให้แก้ไขไฟล์ firebase.json
เพื่อเชื่อมโยง Cloud Firestore Security Rules และไฟล์แหล่งที่มาของดัชนีฐานข้อมูลต่างๆ กับแต่ละฐานข้อมูล แก้ไขไฟล์ด้วย
อาร์เรย์ JSON โดยมี 1 รายการสำหรับแต่ละฐานข้อมูล
"firestore": [
{
"database": "(default)",
"rules": "firestore.default.rules",
"indexes": "firestore.default.indexes.json"
},
{
"database": "ecommerce",
"rules": "firestore.ecommerce.rules",
"indexes": "firestore.ecommerce.indexes.json"
}
],
Cloud Functions ไฟล์ที่จะไม่สนใจเมื่อทำการติดตั้งใช้งาน
เมื่อเวลาที่ทำการติดตั้งใช้งานฟังก์ชัน CLI จะระบุรายการไฟล์ในไดเรกทอรี functions
ที่จะละเว้นโดยอัตโนมัติ
ซึ่งจะช่วย
ป้องกันไม่ให้มีการติดตั้งใช้งานไฟล์ที่ไม่เกี่ยวข้องกับแบ็กเอนด์ ซึ่งอาจ
เพิ่มขนาดข้อมูลของการติดตั้งใช้งาน
รายการไฟล์ที่ระบบจะละเว้นโดยค่าเริ่มต้นซึ่งแสดงในรูปแบบ JSON มีดังนี้
"ignore": [
".git",
".runtimeconfig.json",
"firebase-debug.log",
"firebase-debug.*.log",
"node_modules"
]
หากคุณเพิ่มค่าที่กำหนดเองสำหรับ ignore
ใน firebase.json
โปรดตรวจสอบ
ว่าคุณเก็บ (หรือเพิ่ม หากไม่มี) รายการไฟล์ที่แสดงด้านบน
จัดการนามแฝงของโปรเจ็กต์
คุณเชื่อมโยงโปรเจ็กต์ Firebase หลายโปรเจ็กต์กับไดเรกทอรีโปรเจ็กต์เดียวกันได้
เช่น คุณอาจต้องการใช้โปรเจ็กต์ Firebase หนึ่งสำหรับการทดสอบ และอีกโปรเจ็กต์หนึ่ง
สำหรับการใช้งานจริง การใช้สภาพแวดล้อมของโปรเจ็กต์ที่แตกต่างกันจะช่วยให้คุณยืนยันการเปลี่ยนแปลง
ก่อนที่จะนําไปใช้ในการผลิตได้ คำสั่ง firebase use
ช่วยให้คุณสลับ
ระหว่างอีเมลแทน รวมถึงสร้างอีเมลแทนใหม่ได้
เพิ่มชื่อแทนโปรเจ็กต์
เมื่อเลือกโปรเจ็กต์ Firebase ระหว่างการเริ่มต้นโปรเจ็กต์ ระบบจะกำหนด
นามแฝง default
ให้กับโปรเจ็กต์โดยอัตโนมัติ อย่างไรก็ตาม หากต้องการอนุญาตให้คำสั่งเฉพาะโปรเจ็กต์ทำงานกับโปรเจ็กต์ Firebase อื่น แต่ยังคงใช้ไดเรกทอรีโปรเจ็กต์เดียวกัน ให้เรียกใช้คำสั่งต่อไปนี้จากภายในไดเรกทอรีโปรเจ็กต์
firebase use --add
คำสั่งนี้จะแจ้งให้คุณเลือกโปรเจ็กต์ Firebase อื่นและกำหนด
โปรเจ็กต์เป็นนามแฝง การกำหนดชื่อแทนจะเขียนลงในไฟล์ .firebaserc
ภายใน
ไดเรกทอรีโปรเจ็กต์
ใช้ชื่อแทนโปรเจ็กต์
หากต้องการใช้นามแฝงโปรเจ็กต์ Firebase ที่กำหนด ให้เรียกใช้คำสั่งใดคำสั่งหนึ่งต่อไปนี้จาก ภายในไดเรกทอรีโปรเจ็กต์
คำสั่ง | คำอธิบาย |
---|---|
firebase use |
ดูรายการชื่อแทนที่กำหนดไว้ในปัจจุบันสำหรับไดเรกทอรีโปรเจ็กต์ |
firebase use \ |
กํากับคําสั่งทั้งหมดให้ทํางานกับโปรเจ็กต์ Firebase ที่ระบุ
CLI ใช้โปรเจ็กต์นี้เป็น "โปรเจ็กต์ที่ใช้งานอยู่" ในปัจจุบัน |
firebase use --clear |
ล้างโปรเจ็กต์ที่ใช้งานอยู่
เรียกใช้ |
firebase use \ |
นำนามแฝงออกจากไดเรกทอรีโปรเจ็กต์ |
คุณลบล้างสิ่งที่ใช้เป็นโปรเจ็กต์ที่ใช้งานอยู่ในปัจจุบันได้โดยส่งแฟล็ก --project
พร้อมกับคำสั่ง CLI ตัวอย่างเช่น คุณสามารถตั้งค่า CLI ให้ทํางานกับโปรเจ็กต์ Firebase ที่คุณกําหนดstaging
นามแฝงไว้ หากต้องการเรียกใช้คำสั่งเดียวกับโปรเจ็กต์ Firebase ที่คุณกำหนดชื่อแทน prod
ให้ คุณสามารถเรียกใช้คำสั่งต่อไปนี้ได้ เช่น
การควบคุมแหล่งที่มาและชื่อแทนของโปรเจ็กต์
โดยทั่วไป คุณควรเช็คอินไฟล์ .firebaserc
เข้าสู่การควบคุมแหล่งที่มาเพื่อ
อนุญาตให้ทีมแชร์นามแฝงของโปรเจ็กต์ อย่างไรก็ตาม สำหรับโปรเจ็กต์โอเพนซอร์สหรือ
เทมเพลตเริ่มต้น โดยทั่วไปคุณไม่ควรเช็คอินไฟล์ .firebaserc
หากมีโปรเจ็กต์การพัฒนาที่ใช้สำหรับคุณเท่านั้น คุณจะส่งแฟล็ก --project
พร้อมกับแต่ละคำสั่งหรือเรียกใช้ firebase use PROJECT_ID
โดยไม่ต้องกำหนดนามแฝงให้กับโปรเจ็กต์ Firebase ก็ได้
แสดงและทดสอบโปรเจ็กต์ Firebase ในเครื่อง
คุณดูและทดสอบโปรเจ็กต์ Firebase ใน URL ที่โฮสต์ไว้ในเครื่องได้ก่อน
ที่จะนําไปใช้งานจริง หากต้องการทดสอบเฉพาะฟีเจอร์บางอย่าง คุณสามารถใช้
รายการที่คั่นด้วยคอมมาใน Flag ในคำสั่ง firebase serve
เรียกใช้คำสั่งต่อไปนี้จากรูทของไดเรกทอรีโปรเจ็กต์ในเครื่องหากคุณต้องการทำอย่างใดอย่างหนึ่งต่อไปนี้
- ดูเนื้อหาแบบคงที่ของแอปที่โฮสต์ด้วย Firebase
- ใช้ Cloud Functions เพื่อสร้างเนื้อหาแบบไดนามิกสำหรับ Firebase Hosting และต้องการใช้ฟังก์ชัน HTTP การผลิต (ที่ใช้งาน) เพื่อจำลอง Hosting ใน URL ท้องถิ่น
firebase serve --only hosting
จำลองโปรเจ็กต์โดยใช้ฟังก์ชัน HTTP ในเครื่อง
เรียกใช้คำสั่งใดก็ได้ต่อไปนี้จากไดเรกทอรีโปรเจ็กต์เพื่อจำลองโปรเจ็กต์โดยใช้ฟังก์ชัน HTTP ในเครื่อง
หากต้องการจำลองฟังก์ชัน HTTP และการโฮสติ้งเพื่อทดสอบใน URL ภายใน ให้ใช้คำสั่งใดคำสั่งหนึ่งต่อไปนี้
firebase serve
firebase serve --only functions,hosting // uses a flag
หากต้องการจำลองฟังก์ชัน HTTP เท่านั้น ให้ใช้คำสั่งต่อไปนี้
firebase serve --only functions
ทดสอบจากอุปกรณ์อื่นๆ ในเครือข่ายเดียวกัน
โดยค่าเริ่มต้น firebase serve
จะตอบกลับเฉพาะคำขอจาก localhost
ซึ่งหมายความว่าคุณจะเข้าถึงเนื้อหาที่โฮสต์ได้จากเว็บเบราว์เซอร์ของคอมพิวเตอร์
แต่จะเข้าถึงจากอุปกรณ์อื่นๆ ในเครือข่ายไม่ได้ หากต้องการทดสอบจาก
อุปกรณ์อื่นๆ ในเครือข่ายเดียวกัน ให้ใช้ฟีเจอร์--host
ดังนี้
firebase serve --host 0.0.0.0 // accepts requests to any host
ทําให้ใช้งานได้กับโปรเจ็กต์ Firebase
Firebase CLI จัดการการติดตั้งใช้งานโค้ดและชิ้นงานในโปรเจ็กต์ Firebase ซึ่งรวมถึง
- ผลงานใหม่จากเว็บไซต์ Firebase Hosting ของคุณ
- Cloud Functions for Firebase ใหม่ อัปเดต หรือที่มีอยู่
- สคีมาและเครื่องมือเชื่อมต่อใหม่หรือที่อัปเดตแล้วสำหรับ Firebase Data Connect
- กฎสำหรับ Firebase Realtime Database
- กฎสำหรับ Cloud Storage for Firebase
- กฎสำหรับ Cloud Firestore
- ดัชนีสำหรับ Cloud Firestore
หากต้องการทําให้ใช้งานได้ในโปรเจ็กต์ Firebase ให้เรียกใช้คําสั่งต่อไปนี้จากไดเรกทอรีโปรเจ็กต์
firebase deploy
คุณจะเพิ่มความคิดเห็นในการติดตั้งใช้งานแต่ละครั้งหรือไม่ก็ได้ ความคิดเห็นนี้จะแสดงพร้อมกับข้อมูลการติดตั้งใช้งานอื่นๆ ในหน้าFirebase Hosting ของโปรเจ็กต์ เช่น
firebase deploy -m "Deploying the best new feature ever."
เมื่อใช้คำสั่ง firebase deploy
โปรดทราบสิ่งต่อไปนี้
หากต้องการติดตั้งใช้งานทรัพยากรจากไดเรกทอรีโปรเจ็กต์ ไดเรกทอรีโปรเจ็กต์ต้องมีไฟล์
firebase.json
ระบบจะสร้างไฟล์นี้ให้คุณโดยอัตโนมัติด้วยคำสั่งfirebase init
โดยค่าเริ่มต้น
firebase deploy
จะสร้างรุ่นสำหรับทรัพยากรที่สามารถนำไปใช้ได้ทั้งหมด ในไดเรกทอรีโปรเจ็กต์ หากต้องการติดตั้งใช้งานบริการหรือฟีเจอร์ที่เฉพาะเจาะจงของ Firebase ให้ใช้การติดตั้งใช้งานบางส่วน
ความขัดแย้งในการติดตั้งใช้งานสำหรับกฎความปลอดภัย
สำหรับ Firebase Realtime Database, Cloud Storage for Firebase และ Cloud Firestore คุณกำหนดกฎความปลอดภัยได้ทั้งในไดเรกทอรีโปรเจ็กต์ในเครื่องหรือในFirebase คอนโซล
อีกทางเลือกหนึ่งในการหลีกเลี่ยงความขัดแย้งในการติดตั้งใช้งานคือใช้การติดตั้งใช้งานบางส่วนและกำหนดกฎในคอนโซล Firebase เท่านั้น
โควต้าการติดตั้งใช้งาน
คุณอาจใช้โควต้าเกินซึ่งจำกัดอัตราหรือปริมาณของการดำเนินการติดตั้งใช้งาน Firebase (แม้ว่าจะเป็นไปได้ยาก) เช่น เมื่อ
ติดตั้งใช้งานฟังก์ชันจำนวนมาก คุณอาจได้รับHTTP 429 Quota
ข้อความแสดงข้อผิดพลาด หากต้องการแก้ปัญหาดังกล่าว ให้ลองใช้การติดตั้งใช้งานบางส่วน
ย้อนกลับการทำให้ใช้งานได้
คุณสามารถย้อนกลับFirebase Hostingการติดตั้งใช้งานจากหน้าFirebase Hosting ของโปรเจ็กต์ได้โดยเลือกการดำเนินการย้อนกลับสำหรับรุ่นที่ต้องการ
ปัจจุบันยังไม่สามารถย้อนกลับการเผยแพร่กฎความปลอดภัยสำหรับ Firebase Realtime Database, Cloud Storage for Firebase หรือ Cloud Firestore
ทําให้บริการ Firebase บางอย่างใช้งานได้
หากต้องการติดตั้งใช้งานเฉพาะบริการหรือฟีเจอร์ Firebase ที่เฉพาะเจาะจงเท่านั้น คุณสามารถใช้
รายการที่คั่นด้วยคอมมาในแฟล็กในคำสั่ง firebase deploy
ได้ ตัวอย่างเช่น คำสั่งต่อไปนี้จะทำให้เนื้อหา Firebase Hosting และกฎความปลอดภัย Cloud Storage ใช้งานได้
firebase deploy --only hosting,storage
ตารางต่อไปนี้แสดงรายการบริการและฟีเจอร์ที่พร้อมใช้งานสำหรับการ
ติดตั้งใช้งานบางส่วน ชื่อในฟีเจอร์นี้จะสอดคล้องกับคีย์ในไฟล์กำหนดค่า firebase.json
ไวยากรณ์ของ Flag | บริการหรือฟีเจอร์ที่ใช้งาน |
---|---|
--only hosting |
เนื้อหาภาษาFirebase Hosting |
--only database |
กฎ Firebase Realtime Database รายการ |
--only dataconnect |
Firebase Data Connect สคีมาและตัวเชื่อมต่อ |
--only storage |
กฎ Cloud Storage for Firebase รายการ |
--only firestore |
Cloud Firestore กฎ และดัชนีสำหรับฐานข้อมูลที่กำหนดค่าทั้งหมด |
--only functions |
Cloud Functions for Firebase (more specific versions of this flag are possible) |
ทำให้ฟังก์ชันที่เฉพาะเจาะจงใช้งานได้
เมื่อติดตั้งใช้งานฟังก์ชัน คุณสามารถกำหนดเป้าหมายฟังก์ชันที่เฉพาะเจาะจงได้ เช่น
firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2
อีกตัวเลือกหนึ่งคือการจัดกลุ่มฟังก์ชันเป็นกลุ่มการส่งออกในไฟล์
/functions/index.js
ฟังก์ชันการจัดกลุ่มช่วยให้คุณสามารถใช้งานฟังก์ชันหลายรายการได้โดยใช้คำสั่งเดียว
เช่น คุณสามารถเขียนฟังก์ชันต่อไปนี้เพื่อกำหนด groupA
และ groupB
ได้
var functions = require('firebase-functions/v1');
exports.groupA = {
function1: functions.https.onRequest(...),
function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');
ในตัวอย่างนี้ ไฟล์ functions/groupB.js
แยกต่างหากมีฟังก์ชันเพิ่มเติม
ที่กำหนดฟังก์ชันใน groupB
โดยเฉพาะ เช่น
var functions = require('firebase-functions/v1');
exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);
ในตัวอย่างนี้ คุณสามารถติดตั้งใช้งานฟังก์ชัน groupA
ทั้งหมดได้โดยเรียกใช้คำสั่งต่อไปนี้จากไดเรกทอรีโปรเจ็กต์
firebase deploy --only functions:groupA
หรือคุณจะกำหนดเป้าหมายฟังก์ชันที่เฉพาะเจาะจงภายในกลุ่มได้โดยเรียกใช้คำสั่งต่อไปนี้
firebase deploy --only functions:groupA.function1,groupB.function4
ลบฟังก์ชัน
Firebase CLI รองรับคำสั่งและตัวเลือกต่อไปนี้สำหรับการลบฟังก์ชันที่เคยติดตั้งใช้งาน
ลบฟังก์ชันทั้งหมดที่ตรงกับชื่อที่ระบุในทุกภูมิภาค
firebase functions:delete FUNCTION-1_NAME
ลบฟังก์ชันที่ระบุซึ่งทำงานในภูมิภาคที่ไม่ใช่ค่าเริ่มต้น
firebase functions:delete FUNCTION-1_NAME --region REGION_NAME
ลบฟังก์ชันมากกว่า 1 รายการ
firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME
ลบกลุ่มฟังก์ชันที่ระบุ
firebase functions:delete GROUP_NAME
ข้ามข้อความแจ้งให้ยืนยัน
firebase functions:delete FUNCTION-1_NAME --force
ตั้งค่างานที่เขียนสคริปต์ก่อนและหลังการติดตั้งใช้งาน
คุณเชื่อมต่อสคริปต์เชลล์กับคำสั่ง firebase deploy
เพื่อดำเนินการ
งานก่อนหรือหลังการติดตั้งใช้งานได้ ตัวอย่างเช่น สคริปต์ก่อนการติดตั้งใช้งานอาจแปลงโค้ด TypeScript เป็น JavaScript และฮุกหลังการติดตั้งใช้งานอาจแจ้งให้ผู้ดูแลระบบทราบเกี่ยวกับการติดตั้งใช้งานเนื้อหาใหม่ของเว็บไซต์ไปยัง Firebase Hosting
หากต้องการตั้งค่า Hook ก่อนหรือหลังการติดตั้งใช้งาน ให้เพิ่มสคริปต์ Bash ลงในไฟล์การกำหนดค่า firebase.json
คุณสามารถกำหนด
สคริปต์สั้นๆ ได้โดยตรงในไฟล์ firebase.json
หรือจะอ้างอิงไฟล์อื่นๆ
ที่อยู่ในไดเรกทอรีโปรเจ็กต์ก็ได้
ตัวอย่างเช่น สคริปต์ต่อไปนี้คือนิพจน์ firebase.json
สำหรับ
งานหลังการติดตั้งใช้งานที่ส่งข้อความ Slack เมื่อติดตั้งใช้งานไปยัง Firebase Hosting สำเร็จ
"hosting": {
// ...
"postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
"public": "public"
}
ไฟล์สคริปต์ messageSlack.sh
จะอยู่ในไดเรกทอรีของโปรเจ็กต์และมีลักษณะดังนี้
curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}' \https://SLACK_WEBHOOK_URL
คุณตั้งค่า Hook predeploy
และ postdeploy
สำหรับชิ้นงานที่สามารถติดตั้งใช้งานได้ โปรดทราบว่าการเรียกใช้ firebase deploy
จะทริกเกอร์งานก่อนการติดตั้งใช้งานและหลังการติดตั้งใช้งานทั้งหมดที่กำหนดไว้ในไฟล์ firebase.json
หากต้องการเรียกใช้เฉพาะงานที่เชื่อมโยงกับบริการ Firebase ที่เฉพาะเจาะจง ให้ใช้คำสั่งการติดตั้งใช้งานบางส่วน
ทั้งฮุก predeploy
และ postdeploy
จะพิมพ์เอาต์พุตมาตรฐานและสตรีมข้อผิดพลาดของสคริปต์ไปยังเทอร์มินัล สำหรับกรณีที่การดำเนินการไม่สำเร็จ โปรดทราบข้อมูลต่อไปนี้
- หากฮุกก่อนการทำให้ใช้งานได้ทำงานไม่เสร็จตามที่คาดไว้ ระบบจะยกเลิกการทำให้ใช้งานได้
- หากการติดตั้งใช้งานล้มเหลวไม่ว่าด้วยเหตุผลใดก็ตาม ระบบจะไม่ทริกเกอร์ฮุกหลังการติดตั้งใช้งาน
ตัวแปรสภาพแวดล้อม
ในสคริปต์ที่ทำงานใน Hook Predeploy และ Postdeploy จะมีตัวแปรสภาพแวดล้อมต่อไปนี้
$GCLOUD_PROJECT
: รหัสโปรเจ็กต์ของโปรเจ็กต์ที่ใช้งานอยู่$PROJECT_DIR
: ไดเรกทอรีรากที่มีไฟล์firebase.json
$RESOURCE_DIR
: (สำหรับสคริปต์hosting
และfunctions
เท่านั้น) ตำแหน่งของไดเรกทอรีที่มีทรัพยากร Hosting หรือ Cloud Functions ที่จะนำไปใช้
จัดการRealtime Databaseอินสแตนซ์
โปรเจ็กต์ Firebase สามารถมีอินสแตนซ์หลายFirebase Realtime Databaseอินสแตนซ์ โดยค่าเริ่มต้น คำสั่ง CLI จะโต้ตอบกับอินสแตนซ์ฐานข้อมูลเริ่มต้น
อย่างไรก็ตาม คุณสามารถโต้ตอบกับอินสแตนซ์ฐานข้อมูลที่ไม่ใช่ค่าเริ่มต้นได้โดยใช้แฟล็ก
--instance DATABASE_NAME
--instance
firebase database:get
firebase database:profile
firebase database:push
firebase database:remove
firebase database:set
firebase database:update
ข้อมูลอ้างอิงเกี่ยวกับคำสั่ง
คำสั่งการดูแลระบบของ CLI
คำสั่ง | คำอธิบาย |
---|---|
ความช่วยเหลือ | แสดงข้อมูลความช่วยเหลือเกี่ยวกับ CLI หรือคำสั่งที่เฉพาะเจาะจง |
init | เชื่อมโยงและตั้งค่าโปรเจ็กต์ Firebase ใหม่ในไดเรกทอรีปัจจุบัน
คำสั่งนี้จะสร้างไฟล์การกำหนดค่า
firebase.json
ในไดเรกทอรีปัจจุบัน |
login | ตรวจสอบสิทธิ์ CLI ด้วยบัญชี Google ต้องมีสิทธิ์เข้าถึง
เว็บเบราว์เซอร์ หากต้องการเข้าสู่ระบบ CLI ในสภาพแวดล้อมระยะไกลที่ไม่อนุญาตให้เข้าถึง localhost ให้ใช้แฟล็ก --no-localhost |
login:ci | สร้างโทเค็นการตรวจสอบสิทธิ์เพื่อใช้ในสภาพแวดล้อมแบบไม่โต้ตอบ |
ออกจากระบบ | ออกจากระบบบัญชี Google จาก CLI |
เปิด | เปิดเบราว์เซอร์ไปยังแหล่งข้อมูลโปรเจ็กต์ที่เกี่ยวข้อง |
projects:list | แสดงโปรเจ็กต์ Firebase ทั้งหมดที่คุณมีสิทธิ์เข้าถึง |
ใช้ | ตั้งค่าโปรเจ็กต์ Firebase ที่ใช้งานอยู่สำหรับ CLI จัดการนามแฝงของโปรเจ็กต์ |
คำสั่งการจัดการโปรเจ็กต์
คำสั่ง | คำอธิบาย | |
---|---|---|
การจัดการโปรเจ็กต์ Firebase | ||
projects:addfirebase | เพิ่มทรัพยากร Firebase ไปยังGoogle Cloudโปรเจ็กต์ที่มีอยู่ | |
projects:create | สร้างGoogle Cloudโปรเจ็กต์ใหม่ แล้วเพิ่มทรัพยากร Firebase ลงใน โปรเจ็กต์ใหม่ | |
projects:list | แสดงโปรเจ็กต์ Firebase ทั้งหมดที่คุณมีสิทธิ์เข้าถึง | |
การจัดการแอป Firebase (iOS, Android, เว็บ) | ||
apps:create | สร้างแอป Firebase ใหม่ในโปรเจ็กต์ที่ใช้งานอยู่ | |
apps:list | แสดงรายการแอป Firebase ที่ลงทะเบียนในโปรเจ็กต์ที่ใช้งานอยู่ | |
apps:sdkconfig | พิมพ์การกำหนดค่าบริการของ Google สำหรับแอป Firebase | |
setup:web | เลิกใช้งานแล้ว แต่ให้ใช้ apps:sdkconfig และ
ระบุ web เป็นอาร์กิวเมนต์แพลตฟอร์มพิมพ์ การกำหนดค่าบริการของ Google ของ Firebase Web App |
|
การจัดการแฮชใบรับรอง SHA (Android เท่านั้น) | ||
apps:android:sha:create \ FIREBASE_APP_ID SHA_HASH |
เพิ่มแฮชใบรับรอง SHA ที่ระบุไปยัง แอป Android ของ Firebase ที่ระบุ | |
apps:android:sha:delete \ FIREBASE_APP_ID SHA_HASH |
ลบแฮชใบรับรอง SHA ที่ระบุออกจาก แอป Android ใน Firebase ที่ระบุ | |
apps:android:sha:list \ FIREBASE_APP_ID |
แสดงรายการแฮชใบรับรอง SHA สำหรับ แอป Firebase Android ที่ระบุ |
การติดตั้งใช้งานและการพัฒนาในเครื่อง
คำสั่งเหล่านี้ช่วยให้คุณติดตั้งใช้งานและโต้ตอบกับFirebase Hostingเว็บไซต์ได้
คำสั่ง | คำอธิบาย |
---|---|
deploy | นำโค้ดและชิ้นงานจากไดเรกทอรีโปรเจ็กต์ไปใช้กับโปรเจ็กต์ที่ใช้งานอยู่
สำหรับ Firebase Hosting คุณต้องมีไฟล์การกำหนดค่า
firebase.json
|
แสดง | เริ่มเว็บเซิร์ฟเวอร์ในเครื่องด้วยFirebase Hostingการกำหนดค่า
สำหรับ Firebase Hosting คุณต้องมีไฟล์การกำหนดค่า
firebase.json
|
App Distribution คำสั่ง
คำสั่ง | คำอธิบาย |
---|---|
appdistribution:distribute \ --app FIREBASE_APP_ID |
ทำให้ผู้ทดสอบใช้บิลด์ได้ |
appdistribution:testers:add | เพิ่มผู้ทดสอบลงในโปรเจ็กต์ |
appdistribution:testers:remove | นำผู้ทดสอบออกจากโปรเจ็กต์ |
App Hosting คำสั่ง
คำสั่ง | คำอธิบาย |
---|---|
apphosting:backends:create \ --project PROJECT_ID \ --location REGION --app APP_ID |
สร้างคอลเล็กชันของทรัพยากรที่มีการจัดการซึ่งลิงก์กับโค้ดเบสเดียว ซึ่งประกอบด้วยApp Hostingแบ็กเอนด์ ระบุเว็บแอป Firebase ที่มีอยู่โดยใช้รหัสแอป Firebase (ไม่บังคับ) |
apphosting:backends:get \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
ดึงรายละเอียดที่เฉพาะเจาะจง รวมถึง URL สาธารณะของแบ็กเอนด์ |
apphosting:backends:list \ --project PROJECT_ID |
เรียกข้อมูลรายการแบ็กเอนด์ที่ใช้งานอยู่ทั้งหมดที่เชื่อมโยงกับโปรเจ็กต์ |
firebase apphosting:backends:delete \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
ลบแบ็กเอนด์ออกจากโปรเจ็กต์ |
firebase apphosting:config:export \ --project PROJECT_ID \ --secrets ENVIRONMENT_NAME |
ส่งออกข้อมูลลับเพื่อใช้ในการจำลองแอป ค่าเริ่มต้นคือข้อมูลลับที่จัดเก็บไว้ใน apphosting.yaml หรือใช้
--secrets เพื่อระบุสภาพแวดล้อมที่มี
ไฟล์ apphosting.ENVIRONMENT_NAME.yaml ที่เกี่ยวข้อง
|
firebase apphosting:rollouts:create \ BACKEND_ID \ --git_branch BRANCH_NAME \ --git_commit COMMIT_ID |
สร้างการเปิดตัวที่ทริกเกอร์ด้วยตนเอง ระบุคอมมิตล่าสุดไปยังกิ่งหรือคอมมิตที่เฉพาะเจาะจง (ไม่บังคับ) หากไม่มีตัวเลือก ระบบจะเลือกพรอมต์จากรายการสาขา |
apphosting:secrets:set
KEY
--project PROJECT_ID \ --location REGION \ --data-file DATA_FILE_PATH |
จัดเก็บเนื้อหาลับใน Secret Manager ระบุเส้นทางไฟล์ที่จะอ่านข้อมูลลับ (ไม่บังคับ) ตั้งค่าเป็น _ เพื่ออ่านข้อมูลลับจากอินพุตมาตรฐาน
|
apphosting:secrets:grantaccess
KEY
BACKEND_ID \ --project PROJECT_ID \ --location REGION |
ให้สิทธิ์เข้าถึงข้อมูลลับที่ระบุแก่บัญชีบริการแบ็กเอนด์ เพื่อให้App Hosting เข้าถึงได้ในเวลาสร้างหรือรันไทม์ |
apphosting:secrets:describe
KEY \ --project PROJECT_ID |
รับข้อมูลเมตาสำหรับข้อมูลลับและเวอร์ชันของข้อมูลลับ |
firebase apphosting:secrets:access \ KEY[@version] \ --project PROJECT_ID |
เข้าถึงค่าข้อมูลลับโดยระบุข้อมูลลับและเวอร์ชันของข้อมูลลับ ค่าเริ่มต้นคือการเข้าถึงเวอร์ชันล่าสุด |
Authentication คำสั่ง (การจัดการผู้ใช้)
คำสั่ง | คำอธิบาย |
---|---|
auth:export | ส่งออกบัญชีผู้ใช้ของโปรเจ็กต์ที่ใช้งานอยู่ไปยังไฟล์ JSON หรือ CSV ดูรายละเอียดเพิ่มเติมได้ที่หน้า auth:import และ auth:export |
auth:import | นำเข้าบัญชีผู้ใช้จากไฟล์ JSON หรือ CSV ไปยังโปรเจ็กต์ที่ใช้งานอยู่ ดูรายละเอียดเพิ่มเติมได้ที่หน้า auth:import และ auth:export |
Cloud Firestore คำสั่ง
คำสั่ง | คำอธิบาย |
---|---|
firestore:locations |
แสดงรายการตำแหน่งที่ใช้ได้สำหรับCloud Firestoreฐานข้อมูล |
firestore:databases:create DATABASE_ID |
สร้างอินสแตนซ์ฐานข้อมูลในโหมดดั้งเดิมในโปรเจ็กต์ Firebase คำสั่งนี้ใช้แฟล็กต่อไปนี้
|
firestore:databases:list |
แสดงรายการฐานข้อมูลในโปรเจ็กต์ Firebase |
firestore:databases:get DATABASE_ID |
รับการกำหนดค่าฐานข้อมูลสำหรับฐานข้อมูลที่ระบุในโปรเจ็กต์ Firebase |
firestore:databases:update DATABASE_ID |
อัปเดตการกำหนดค่าฐานข้อมูลของฐานข้อมูลที่ระบุในโปรเจ็กต์ Firebase ต้องระบุอย่างน้อย 1 รายการ คำสั่งนี้ใช้แฟล็กต่อไปนี้
|
firestore:databases:delete DATABASE_ID |
ลบฐานข้อมูลในโปรเจ็กต์ Firebase |
firestore:indexes |
แสดงดัชนีของฐานข้อมูลในโปรเจ็กต์ Firebase คำสั่งนี้ใช้แฟล็กต่อไปนี้
|
firestore:delete |
ลบเอกสารในฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ คุณใช้ CLI เพื่อลบเอกสารทั้งหมดในคอลเล็กชันแบบเรียกซ้ำได้ โปรดทราบว่าการลบข้อมูล Cloud Firestore ด้วย CLI จะทำให้เกิดค่าใช้จ่ายในการอ่านและลบ ดูข้อมูลเพิ่มเติมได้ที่ ทำความเข้าใจการเรียกเก็บเงินของ Cloud Firestore คำสั่งนี้ใช้แฟล็กต่อไปนี้
|
Cloud Functions for Firebase คำสั่ง
คำสั่ง | คำอธิบาย |
---|---|
functions:config:clone | โคลนสภาพแวดล้อมของโปรเจ็กต์อื่นลงในโปรเจ็กต์ Firebase ที่ใช้งานอยู่ |
functions:config:get | ดึงค่าการกำหนดค่าที่มีอยู่ของโปรเจ็กต์ที่ใช้งานอยู่ Cloud Functions |
functions:config:set | จัดเก็บค่าการกำหนดค่าขณะรันไทม์ของโปรเจ็กต์ที่ใช้งานอยู่ Cloud Functions |
functions:config:unset | นำค่าจากการกำหนดค่ารันไทม์ของโปรเจ็กต์ที่ใช้งานอยู่ออก |
functions:log | อ่านบันทึกจาก Cloud Functions ที่ติดตั้งใช้งาน |
ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบการกำหนดค่า สภาพแวดล้อม
Crashlytics คำสั่ง
คำสั่ง | คำอธิบาย |
---|---|
crashlytics:mappingfile:generateid \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML |
สร้างรหัสไฟล์การแมปที่ไม่ซ้ำกันในไฟล์ทรัพยากร Android (XML) ที่ระบุ |
crashlytics:mappingfile:upload \ --app=FIREBASE_APP_ID \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML \ PATH/TO/MAPPING_FILE.TXT |
อัปโหลดไฟล์การแมป (TXT) ที่เข้ากันได้กับ Proguard สำหรับแอปนี้ และเชื่อมโยงกับรหัสไฟล์การแมปที่ประกาศไว้ในไฟล์ทรัพยากร Android (XML) ที่ระบุ |
crashlytics:symbols:upload \ --app=FIREBASE_APP_ID \ PATH/TO/SYMBOLS |
สร้างไฟล์สัญลักษณ์ที่เข้ากันได้กับ Crashlyticsสำหรับการขัดข้องของไลบรารีเนทีฟ ใน Android และอัปโหลดไปยังเซิร์ฟเวอร์ Firebase |
Data Connect คำสั่ง
คำสั่งเหล่านี้และกรณีการใช้งานจะอธิบายโดยละเอียดในData Connectคู่มืออ้างอิง CLI
คำสั่ง | คำอธิบาย |
---|---|
dataconnect:services:list | แสดงรายการบริการ Data Connect ทั้งหมดที่ติดตั้งใช้งานในโปรเจ็กต์ Firebase |
dataconnect:sql:diff \ SERVICE_ID |
สำหรับบริการที่ระบุ จะแสดงความแตกต่างระหว่าง Data Connectสคีมาในเครื่องกับสคีมาฐานข้อมูล Cloud SQL |
dataconnect:sql:migrate \ --force \ SERVICE_ID |
ย้ายข้อมูลสคีมาของฐานข้อมูล Cloud SQL ให้ตรงกับสคีมาในเครื่อง Data Connect |
dataconnect:sql:grant\ --role=ROLE \ --email=EMAIL \ SERVICE_ID |
มอบบทบาท SQL ให้กับอีเมลของผู้ใช้หรือบัญชีบริการที่ระบุ
สำหรับแฟล็ก --role บทบาท SQL ที่จะให้สิทธิ์คือบทบาทใดบทบาทหนึ่งต่อไปนี้
owner , writer หรือ reader
สำหรับแฟล็ก --email ให้ระบุอีเมลของผู้ใช้หรือบัญชีบริการที่จะมอบบทบาทให้
|
dataconnect:sdk:generate | สร้าง SDK ที่พิมพ์สำหรับตัวเชื่อมต่อ Data Connect |
Extensions คำสั่ง
คำสั่ง | คำอธิบาย |
---|---|
ext | แสดงข้อมูลเกี่ยวกับวิธีใช้Firebase Extensionsคำสั่ง แสดงรายการอินสแตนซ์ของส่วนขยายที่ติดตั้งในโปรเจ็กต์ที่ใช้งานอยู่ |
ext:configure \ EXTENSION_INSTANCE_ID |
กำหนดค่าค่าพารามิเตอร์ของอินสแตนซ์ส่วนขยายใหม่ใน ไฟล์ Manifest ของส่วนขยาย |
ext:info \ PUBLISHER_ID/EXTENSION_ID |
พิมพ์ข้อมูลโดยละเอียดเกี่ยวกับส่วนขยาย |
ext:install \ PUBLISHER_ID/EXTENSION_ID |
เพิ่มอินสแตนซ์ใหม่ของส่วนขยายลงใน ไฟล์ Manifest ของส่วนขยาย |
ext:list | แสดงรายการอินสแตนซ์ของส่วนขยายทั้งหมดที่ติดตั้งในโปรเจ็กต์ Firebase พิมพ์รหัสอินสแตนซ์ของส่วนขยายแต่ละรายการ |
ext:uninstall \ EXTENSION_INSTANCE_ID |
นำอินสแตนซ์ของส่วนขยายออกจาก ไฟล์ Manifest ของส่วนขยาย |
ext:update \ EXTENSION_INSTANCE_ID |
อัปเดตอินสแตนซ์ส่วนขยายเป็นเวอร์ชันล่าสุดใน ไฟล์ Manifest ของส่วนขยาย |
ext:export | ส่งออกอินสแตนซ์ของส่วนขยายที่ติดตั้งทั้งหมดจากโปรเจ็กต์ไปยัง ไฟล์ Manifest ของส่วนขยาย |
คำสั่งของผู้เผยแพร่โฆษณา Extensions
คำสั่ง | คำอธิบาย |
---|---|
ext:dev:init | เริ่มต้นโค้ดเบสโครงร่างสำหรับส่วนขยายใหม่ในไดเรกทอรีปัจจุบัน |
ext:dev:list \ PUBLISHER_ID |
พิมพ์รายการส่วนขยายทั้งหมดที่ผู้เผยแพร่โฆษณาอัปโหลด |
ext:dev:register | ลงทะเบียนโปรเจ็กต์ Firebase เป็น โปรเจ็กต์ผู้เผยแพร่ส่วนขยาย |
ext:dev:deprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
เลิกใช้งาน
เวอร์ชันของส่วนขยายที่ตรงกับตัวระบุเวอร์ชัน ตัวระบุเวอร์ชันอาจเป็นเวอร์ชันเดียว (เช่น 1.0.0 )
หรือช่วงของเวอร์ชัน (เช่น >1.0.0 )หากไม่ได้ระบุตัวระบุเวอร์ชัน จะเลิกใช้งานส่วนขยายเวอร์ชันทั้งหมด |
ext:dev:undeprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
เลิกเลิกการเลิกใช้งาน
เวอร์ชันส่วนขยายที่ตรงกับตัวบ่งชี้เวอร์ชัน ตัวระบุเวอร์ชันอาจเป็นเวอร์ชันเดียว (เช่น 1.0.0 )
หรือช่วงของเวอร์ชัน (เช่น >1.0.0 )หากไม่ได้ระบุตัวระบุเวอร์ชัน จะยกเลิกการเลิกใช้งานส่วนขยายเวอร์ชันทั้งหมด |
ext:dev:upload \ PUBLISHER_ID/EXTENSION_ID |
อัปโหลดส่วนขยายเวอร์ชันใหม่ |
ext:dev:usage \ PUBLISHER_ID |
แสดงจำนวนการติดตั้งและเมตริกการใช้งานสำหรับส่วนขยายที่อัปโหลดโดย ผู้เผยแพร่โฆษณา |
Hosting คำสั่ง
คำสั่ง | คำอธิบาย |
---|---|
hosting:disable |
หยุดแสดงการเข้าชม Firebase Hosting สำหรับโปรเจ็กต์ Firebase ที่ใช้งานอยู่ Hosting URL ของโปรเจ็กต์จะแสดงข้อความ "ไม่พบเว็บไซต์" หลังจากเรียกใช้คำสั่งนี้ |
การจัดการเว็บไซต์ Hosting | |
firebase hosting:sites:create \ SITE_ID |
สร้างเว็บไซต์ Hosting ใหม่ในโปรเจ็กต์ Firebase ที่ใช้งานอยู่โดยใช้ (ไม่บังคับ) ระบุเว็บแอป Firebase ที่มีอยู่เพื่อเชื่อมโยง
กับเว็บไซต์ใหม่โดยส่งแฟล็กต่อไปนี้
|
firebase hosting:sites:delete \ SITE_ID |
ลบเว็บไซต์ Hosting ที่ระบุ CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนลบเว็บไซต์ (ไม่บังคับ) ข้ามข้อความยืนยันโดยส่ง
การตั้งค่าสถานะต่อไปนี้: |
firebase hosting:sites:get \ SITE_ID |
ดึงข้อมูลเกี่ยวกับHostingเว็บไซต์ที่ระบุ |
firebase hosting:sites:list |
แสดงรายการHostingเว็บไซต์ทั้งหมดสำหรับโปรเจ็กต์ Firebase ที่ใช้งานอยู่ |
การจัดการช่องตัวอย่าง | |
firebase hosting:channel:create \ CHANNEL_ID |
สร้างช่องทางตัวอย่างใหม่ในเว็บไซต์เริ่มต้น Hosting โดยใช้
คำสั่งนี้จะไม่ทำให้ช่องใช้งานได้ |
firebase hosting:channel:delete \ CHANNEL_ID |
ลบช่องแสดงตัวอย่างที่ระบุ คุณลบช่องสดของเว็บไซต์ไม่ได้ |
firebase hosting:channel:deploy \ CHANNEL_ID |
Deploy Hostingเนื้อหาและการกำหนดค่าไปยัง ช่องแสดงตัวอย่างที่ระบุ หากยังไม่มีช่องทางตัวอย่าง คำสั่งนี้จะสร้างช่องในเว็บไซต์ default Hosting ก่อนที่จะนำไปใช้กับช่อง |
firebase hosting:channel:list | แสดงช่องทั้งหมด (รวมถึงช่อง "สด") ในเว็บไซต์ default Hosting |
firebase hosting:channel:open \ CHANNEL_ID |
เปิดเบราว์เซอร์ไปยัง URL ของช่องที่ระบุ หรือแสดง URL หากเปิดในเบราว์เซอร์ไม่ได้ |
การโคลนเวอร์ชัน | |
firebase hosting:clone \ SOURCE_SITE_ID:SOURCE_CHANNEL_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
โคลนเวอร์ชันที่เพิ่งติดตั้งใช้งานล่าสุดในช่อง "แหล่งที่มา" ที่ระบุไปยังช่อง "เป้าหมาย" ที่ระบุ คำสั่งนี้ยังทำให้ระบบนำไปใช้กับช่อง "เป้าหมาย" ที่ระบุด้วย หากยังไม่มีช่อง "target" คำสั่งนี้จะสร้างช่องตัวอย่างใหม่ในเว็บไซต์ Hosting "target" ก่อนที่จะนำไปใช้กับช่อง |
firebase hosting:clone \ SOURCE_SITE_ID:@VERSION_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
โคลนเวอร์ชันที่ระบุไปยังช่อง "เป้าหมาย" ที่ระบุ คำสั่งนี้ยังทำให้ระบบนำไปใช้กับช่อง "เป้าหมาย" ที่ระบุด้วย หากยังไม่มีช่อง "target" คำสั่งนี้จะสร้างช่องตัวอย่างใหม่ในเว็บไซต์ Hosting "target" ก่อนที่จะนำไปใช้กับช่อง คุณจะพบ |
Realtime Database คำสั่ง
โปรดทราบว่าคุณสามารถสร้างอินสแตนซ์ Realtime Database เริ่มต้นที่เป็นค่าเริ่มต้นในคอนโซล Firebase หรือโดยใช้เวิร์กโฟลว์firebase init
ทั่วไปหรือโฟลว์ firebase init database
ที่เฉพาะเจาะจง
เมื่อสร้างอินสแตนซ์แล้ว คุณจะจัดการอินสแตนซ์ได้ตามที่อธิบายไว้ในหัวข้อ จัดการอินสแตนซ์ Realtime Database หลายรายการ
คำสั่ง | คำอธิบาย |
---|---|
database:get | ดึงข้อมูลจากฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่และแสดงเป็น JSON รองรับการค้นหาในข้อมูลที่จัดทำดัชนี |
database:instances:create | สร้างอินสแตนซ์ฐานข้อมูลที่มีชื่ออินสแตนซ์ที่ระบุ ยอมรับ--location ตัวเลือกในการสร้างฐานข้อมูลในภูมิภาคที่ระบุ
ดูชื่อภูมิภาคที่จะใช้กับตัวเลือกนี้ได้ที่
เลือกสถานที่ตั้งสำหรับโปรเจ็กต์
หากไม่มีอินสแตนซ์ฐานข้อมูลสำหรับโปรเจ็กต์ปัจจุบัน ระบบจะแจ้งให้คุณ
เรียกใช้โฟลว์ firebase init เพื่อสร้างอินสแตนซ์
|
database:instances:list | แสดงรายการอินสแตนซ์ฐานข้อมูลทั้งหมดสำหรับโปรเจ็กต์นี้ ยอมรับ
--location สำหรับการแสดงฐานข้อมูลใน
ภูมิภาคที่ระบุ ดูชื่อภูมิภาคที่จะใช้กับตัวเลือกนี้ได้ที่
เลือกสถานที่ตั้งสำหรับโปรเจ็กต์ |
database:profile | สร้างโปรไฟล์ของการดำเนินการในฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ ดูรายละเอียดเพิ่มเติมได้ที่ ประเภทการดำเนินการของ Realtime Database |
database:push | ส่งข้อมูลใหม่ไปยังรายการในตำแหน่งที่ระบุในฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ รับอินพุตจากไฟล์, STDIN หรืออาร์กิวเมนต์บรรทัดคำสั่ง |
database:remove | ลบข้อมูลทั้งหมดในตำแหน่งที่ระบุในฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ |
database:set | แทนที่ข้อมูลทั้งหมดในตำแหน่งที่ระบุในฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ รับอินพุตจากไฟล์, STDIN หรืออาร์กิวเมนต์บรรทัดคำสั่ง |
database:update | ทำการอัปเดตบางส่วนที่ตำแหน่งที่ระบุในฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ รับอินพุตจากไฟล์, STDIN หรืออาร์กิวเมนต์บรรทัดคำสั่ง |
Remote Config คำสั่ง
คำสั่ง | คำอธิบาย |
---|---|
remoteconfig:versions:list \ --limit NUMBER_OF_VERSIONS |
แสดงเทมเพลต 10 เวอร์ชันล่าสุด ระบุ
0 เพื่อแสดงผลเวอร์ชันที่มีอยู่ทั้งหมด หรือจะ
ส่งตัวเลือก --limit เพื่อจำกัดจำนวน
เวอร์ชันที่จะแสดงผลก็ได้ |
remoteconfig:get \ --v, version_number VERSION_NUMBER --o, output FILENAME |
รับเทมเพลตตามเวอร์ชัน (ค่าเริ่มต้นคือเวอร์ชันล่าสุด)
และแสดงผลกลุ่มพารามิเตอร์ พารามิเตอร์ และชื่อเงื่อนไข รวมถึง
เวอร์ชันลงในตาราง คุณจะเขียนเอาต์พุตไปยัง
ไฟล์ที่ระบุด้วย -o, FILENAME ก็ได้ |
remoteconfig:rollback \ --v, version_number VERSION_NUMBER --force |
ย้อนกลับRemote Configเทมเพลตเป็นเวอร์ชันก่อนหน้า
ที่ระบุหรือค่าเริ่มต้นเป็นเวอร์ชันก่อนหน้าล่าสุด (เวอร์ชันปัจจุบัน -1) เว้นแต่จะผ่าน --force ระบบจะแสดงข้อความ Y/N
ก่อนดำเนินการย้อนกลับ |