Firebase CLI (GitHub) มี เครื่องมือมากมายสําหรับการจัดการ การดู และการติดตั้งใช้งานในโปรเจ็กต์ Firebase
ก่อนใช้ FirebaseCLI ให้ตั้งค่าโปรเจ็กต์ Firebase
ตั้งค่าหรืออัปเดต CLI
ติดตั้ง Firebase CLI
คุณติดตั้ง Firebase CLI ได้โดยใช้วิธีที่ตรงกับระบบปฏิบัติการ ระดับประสบการณ์ และ/หรือกรณีการใช้งาน ไม่ว่าคุณจะติดตั้ง CLI อย่างไร คุณก็จะมีสิทธิ์เข้าถึงฟังก์ชันการทำงานเดียวกันและคำสั่ง firebase
Windows
คุณติดตั้ง Firebase CLI สำหรับ Windows ได้โดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
| ตัวเลือก | คำอธิบาย | แนะนำสำหรับ... |
|---|---|---|
| ไบนารีแบบสแตนด์อโลน | ดาวน์โหลดไบนารีแบบสแตนด์อโลนสำหรับ CLI จากนั้นคุณจะเข้าถึง
ไฟล์ที่เรียกใช้งานได้เพื่อเปิดเชลล์ที่คุณเรียกใช้คำสั่ง
firebase ได้
|
นักพัฒนาแอปใหม่ นักพัฒนาแอปที่ไม่ได้ใช้หรือไม่คุ้นเคยกับ Node.js |
| npm | ใช้ npm (ตัวจัดการแพ็กเกจ Node) เพื่อติดตั้ง CLI และเปิดใช้คำสั่ง firebase ที่พร้อมใช้งานทั่วโลก
|
นักพัฒนาซอฟต์แวร์ที่ใช้ Node.js |
ไบนารีแบบสแตนด์อโลน
หากต้องการดาวน์โหลดและเรียกใช้ไบนารีสำหรับ Firebase CLI ให้ทำตามขั้นตอนต่อไปนี้
ดาวน์โหลดไบนารีของ Firebase CLI สำหรับ Windows
เข้าถึงไบนารีเพื่อเปิดเชลล์ที่คุณเรียกใช้คำสั่ง
firebaseได้เข้าสู่ระบบและทดสอบ CLI ต่อไป
npm
หากต้องการใช้ npm (ตัวจัดการแพ็กเกจของ Node) เพื่อติดตั้ง
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 สำหรับระบบปฏิบัติการของคุณ macOS | LinuxFirebase
(ไม่บังคับ) ตั้งค่าคำสั่ง
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
ถอนการติดตั้ง Firebase CLI
วิธียกเลิกการติดตั้ง CLI จะขึ้นอยู่กับระบบปฏิบัติการและวิธีที่คุณ ติดตั้ง CLI
Windows
- ไบนารีแบบสแตนด์อโลน: ลบไบนารี
firebase.exeที่คุณดาวน์โหลด - npm: เรียกใช้
npm uninstall -g firebase-tools
macOS
สคริปต์การติดตั้งอัตโนมัติ: เรียกใช้
curl -sL https://firebase.tools | uninstall=true bashไบนารีแบบสแตนด์อโลน: ลบไบนารี
firebaseที่คุณดาวน์โหลด หากคุณเพิ่มตำแหน่งของไฟล์ลงในตัวแปรสภาพแวดล้อมPATHอย่าลืมนำออกnpm: เรียกใช้
npm uninstall -g firebase-tools
Linux
สคริปต์การติดตั้งอัตโนมัติ: เรียกใช้
curl -sL https://firebase.tools | uninstall=true bashไบนารีแบบสแตนด์อโลน: ลบไบนารี
firebaseที่คุณดาวน์โหลด หากคุณเพิ่มตำแหน่งของไฟล์ลงในตัวแปรสภาพแวดล้อมPATHอย่าลืมนำออกnpm: เรียกใช้
npm uninstall -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 หรือ Authentication) โปรดทราบว่าคุณเรียกใช้
firebase initได้ในภายหลังเพื่อตั้งค่าผลิตภัณฑ์ Firebase เพิ่มเติม
เมื่อสิ้นสุดการเริ่มต้น Firebase จะสร้างไฟล์ 2 ไฟล์ต่อไปนี้โดยอัตโนมัติที่รูทของไดเรกทอรีแอปในเครื่อง
ไฟล์การกำหนดค่า
firebase.jsonที่แสดงรายการ การกำหนดค่าโปรเจ็กต์ไฟล์
.firebasercที่จัดเก็บนามแฝงของโปรเจ็กต์
ไฟล์ firebase.json
คำสั่ง firebase init จะสร้างไฟล์การกำหนดค่า firebase.json ในรูทของไดเรกทอรีโปรเจ็กต์
คุณต้องมีไฟล์ firebase.json เพื่อติดตั้งใช้งานชิ้นงานด้วย Firebase CLI เนื่องจากไฟล์นี้จะระบุไฟล์และการตั้งค่าจากไดเรกทอรีโปรเจ็กต์ที่จะติดตั้งใช้งานในโปรเจ็กต์ Firebase (เช่น การตั้งค่า Hosting, การกำหนดค่าผู้ให้บริการ Authentication, กฎความปลอดภัย และการกำหนดค่า Cloud Functions)
เนื่องจากการตั้งค่าบางอย่างสามารถกำหนดได้ทั้งในไดเรกทอรีโปรเจ็กต์หรือในFirebaseคอนโซล โปรดตรวจสอบว่าคุณได้แก้ไขความขัดแย้งในการติดตั้งใช้งานที่อาจเกิดขึ้นแล้ว
คุณกำหนดค่าตัวเลือกFirebase Hostingส่วนใหญ่
ได้โดยตรงในไฟล์ firebase.json อย่างไรก็ตาม สำหรับบริการอื่นๆ ของ Firebase ที่สามารถติดตั้งใช้งานได้ด้วย Firebase CLI
คำสั่ง firebase init จะสร้างไฟล์ที่เฉพาะเจาะจงซึ่งคุณสามารถกำหนดการตั้งค่า
สำหรับบริการเหล่านั้นได้ เช่น ไฟล์ index.js สำหรับ Cloud Functions คุณยังตั้งค่าฮุกก่อนหรือหลังการติดตั้งใช้งานในไฟล์ firebase.json ได้ด้วย
ไฟล์ firebase.json ต่อไปนี้เป็นตัวอย่างที่ครอบคลุมซึ่งแสดง
ตัวเลือกการกำหนดค่าสำหรับบริการ Firebase หลายรายการ นอกจากนี้ยังแสดงฟีเจอร์ต่างๆ
เช่น Cloud Functions หลายโค้ดเบส การตั้งค่า Local Emulator Suite และ
เทมเพลต Remote Config โปรดทราบว่าไฟล์ firebase.json สำหรับโปรเจ็กต์ใดก็ตามจะมีเฉพาะการกำหนดค่าสำหรับบริการ Firebase ที่ตั้งค่าไว้สำหรับโปรเจ็กต์นั้นๆ (เช่น มีเฉพาะ Firebase Hosting และ Cloud Functions) การเพิ่มคีย์ $schema จะช่วยให้เปิดใช้การตรวจสอบและความสมบูรณ์อัตโนมัติในโปรแกรมแก้ไขโค้ดหลายโปรแกรม
{
"$schema": "https://raw.githubusercontent.com/firebase/firebase-tools/master/schema/firebase-config.json",
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"cleanUrls": true,
"trailingSlash": false
},
"apphosting": {
"backendId": "my-app",
"rootDir": "backend",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
},
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"storage": {
"rules": "storage.rules"
},
"database": {
"rules": "database.rules.json"
},
"dataconnect": {
"source": "dataconnect",
"location": "us-central1"
},
"functions": [
{
"source": "functions",
"codebase": "default",
"ignore": [
"**/.*",
"**/node_modules/**"
],
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint",
"npm --prefix \"$RESOURCE_DIR\" run build"
]
}
],
"emulators": {
"auth": {
"port": 9099
},
"functions": {
"port": 5001
},
"firestore": {
"port": 8080
},
"hosting": {
"port": 5000
},
"storage": {
"port": 9199
},
"ui": {
"enabled": true,
"port": 4000
},
"singleProjectMode": true
},
"extensions": {
"my-storage-resizer": "firebase/storage-resize-images@^0.1.0"
},
"auth": {
"providers": {
"anonymous": true,
"emailPassword": true,
"googleSignIn": {
"oAuthBrandDisplayName": "My App",
"supportEmail": "support@myapp.com"
}
}
},
"remoteconfig": {
"template": "remoteconfig.template.json"
}
}
แม้ว่าระบบจะใช้ 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 SQL Connect
- Security Rules ในราคา Firebase Realtime Database
- Security Rules ในราคา Cloud Storage for Firebase
- Security Rules ในราคา Cloud Firestore
- ดัชนีสำหรับ Cloud Firestore
- การกำหนดค่าสำหรับ Authentication
หากต้องการทําการติดตั้งใช้งานในโปรเจ็กต์ Firebase ให้เรียกใช้คําสั่งต่อไปนี้จากไดเรกทอรีโปรเจ็กต์
firebase deploy
คุณจะเพิ่มความคิดเห็นในการติดตั้งใช้งานแต่ละครั้งหรือไม่ก็ได้ ความคิดเห็นนี้จะแสดงพร้อมกับข้อมูลการติดตั้งใช้งานอื่นๆ ในFirebase Hostingหน้าของโปรเจ็กต์ เช่น
firebase deploy -m "Deploying the best new feature ever."
เมื่อใช้คำสั่ง firebase deploy โปรดทราบสิ่งต่อไปนี้
หากต้องการติดตั้งใช้งานทรัพยากรจากไดเรกทอรีโปรเจ็กต์ ไดเรกทอรีโปรเจ็กต์ต้องมีไฟล์
firebase.jsonระบบจะสร้างไฟล์นี้ให้คุณโดยอัตโนมัติด้วยคำสั่งfirebase initโดยค่าเริ่มต้น
firebase deployจะสร้างรุ่นสำหรับทรัพยากรที่สามารถนำไปใช้ได้ทั้งหมด ในไดเรกทอรีโปรเจ็กต์ หากต้องการติดตั้งใช้งานบริการหรือฟีเจอร์ที่เฉพาะเจาะจงของ Firebase ให้ใช้การติดตั้งใช้งานบางส่วน
ทําให้บริการ Firebase บางอย่างใช้งานได้
หากต้องการติดตั้งใช้งานเฉพาะบริการหรือฟีเจอร์ Firebase ที่เฉพาะเจาะจงเท่านั้น คุณสามารถใช้
รายการที่คั่นด้วยคอมมาในแฟล็กในคำสั่ง firebase deploy ได้ ตัวอย่างเช่น คำสั่งต่อไปนี้จะทำให้เนื้อหา Firebase Hosting และ Cloud Storage Security Rules ใช้งานได้
firebase deploy --only hosting,storage
ตารางต่อไปนี้แสดงรายการบริการและฟีเจอร์ที่พร้อมใช้งานสำหรับการ
ติดตั้งใช้งานบางส่วน ชื่อใน Flag จะสอดคล้องกับคีย์ในไฟล์กำหนดค่า firebase.json
| ไวยากรณ์ของ Flag | บริการหรือฟีเจอร์ที่ใช้งาน |
|---|---|
--only auth |
การกำหนดค่าผู้ให้บริการ Authentication |
--only database |
Firebase Realtime Database Security Rules |
--only dataconnect |
Firebase SQL Connect สคีมาและตัวเชื่อมต่อ |
--only firestore |
Cloud Firestore Security Rules และดัชนีสำหรับฐานข้อมูลที่กำหนดค่าทั้งหมด |
--only functions |
Cloud Functions for Firebase |
--only hosting |
เนื้อหาภาษาFirebase Hosting |
--only storage |
Cloud Storage for Firebase Security Rules |
--only rulesเลิกใช้งานแล้ว
ความขัดแย้งในการติดตั้งใช้งานสำหรับ Security Rules
สำหรับ Firebase Realtime Database, Cloud Storage for Firebase และ Cloud Firestore คุณสามารถกำหนด Security Rules ได้ทั้งในไดเรกทอรีโปรเจ็กต์ในเครื่องหรือใน Firebase คอนโซล
อีกทางเลือกหนึ่งในการหลีกเลี่ยงความขัดแย้งในการติดตั้งใช้งานคือใช้การติดตั้งใช้งานบางส่วนและกำหนดเฉพาะ Security Rules ใน คอนโซล Firebase
ตั้งค่างานที่เขียนสคริปต์ก่อนและหลังการติดตั้งใช้งาน
คุณเชื่อมต่อสคริปต์เชลล์กับคำสั่ง 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 จะพิมพ์เอาต์พุตมาตรฐานและสตรีมข้อผิดพลาดของสคริปต์ไปยังเทอร์มินัล สำหรับกรณีที่ล้มเหลว โปรดทราบข้อมูลต่อไปนี้
- หาก Predeploy Hook ทำงานไม่เสร็จตามที่คาดไว้ ระบบจะยกเลิกการทำให้ใช้งานได้
- หากการติดตั้งใช้งานล้มเหลวไม่ว่าด้วยเหตุผลใดก็ตาม ระบบจะไม่ทริกเกอร์ฮุกหลังการติดตั้งใช้งาน
ตัวแปรสภาพแวดล้อม
ในสคริปต์ที่ทำงานใน Hook ก่อนการติดตั้งใช้งานและหลังการติดตั้งใช้งาน ตัวแปรสภาพแวดล้อมต่อไปนี้จะพร้อมใช้งาน
$GCLOUD_PROJECT: รหัสโปรเจ็กต์ของโปรเจ็กต์ที่ใช้งานอยู่$PROJECT_DIR: ไดเรกทอรีรากที่มีไฟล์firebase.json$RESOURCE_DIR: (สำหรับสคริปต์hostingและfunctionsเท่านั้น) ตำแหน่งของไดเรกทอรีที่มีทรัพยากร Hosting หรือ Cloud Functions ที่จะนำไปใช้
โควต้าการติดตั้งใช้งาน
คุณอาจใช้โควต้าเกินซึ่งจำกัดอัตราหรือปริมาณการดำเนินการติดตั้งใช้งาน Firebase (แม้ว่าจะเป็นไปได้ยาก) เช่น เมื่อ
ติดตั้งใช้งานฟังก์ชันจำนวนมาก คุณอาจได้รับHTTP 429 Quota
ข้อความแสดงข้อผิดพลาด หากต้องการแก้ปัญหาดังกล่าว ให้ลองใช้การติดตั้งใช้งานบางส่วน
ย้อนกลับการทำให้ใช้งานได้
คุณสามารถย้อนกลับFirebase Hostingการติดตั้งใช้งานจากFirebase Hostingหน้าของโปรเจ็กต์ โดยเลือกการดำเนินการย้อนกลับสำหรับรุ่นที่เลือก
คุณไม่สามารถย้อนรุ่นของ Security Rules สำหรับ Firebase Realtime Database, Cloud Storage for Firebase หรือ Cloud Firestore
ข้อมูลอ้างอิงเกี่ยวกับคำสั่ง
คำสั่งการดูแลระบบของ CLI
| สั่ง | คำอธิบาย |
|---|---|
| ความช่วยเหลือ | แสดงข้อมูลความช่วยเหลือเกี่ยวกับ CLI หรือคำสั่งที่เฉพาะเจาะจง |
| init | เชื่อมโยงและตั้งค่าโปรเจ็กต์ Firebase ใหม่ในไดเรกทอรีปัจจุบัน
คำสั่งนี้จะสร้างไฟล์การกำหนดค่า
firebase.json
ในไดเรกทอรีปัจจุบัน |
| login | ตรวจสอบสิทธิ์ CLI ด้วยบัญชี Google ต้องมีสิทธิ์เข้าถึง
เว็บเบราว์เซอร์ หากต้องการเข้าสู่ระบบ CLI ในสภาพแวดล้อมระยะไกลที่ไม่อนุญาตให้เข้าถึง localhost ให้ใช้แฟล็ก --no-localhost |
| login:ci | สร้างโทเค็นการตรวจสอบสิทธิ์เพื่อใช้ในสภาพแวดล้อมที่ไม่ใช่แบบอินเทอร์แอกทีฟ |
| login:add | เข้าสู่ระบบบัญชี Google อื่น |
| login:list | แสดงรายการบัญชี Google ทั้งหมดที่ได้รับการตรวจสอบสิทธิ์ |
| login:use | ตั้งค่าบัญชี Google ที่ใช้งานอยู่ |
| ออกจากระบบ | ออกจากระบบบัญชี 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 | 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 | นำผู้ทดสอบออกจากโปรเจ็กต์ |
| appdistribution:testers:list | แสดงรายชื่อผู้ทดสอบในโปรเจ็กต์ |
| appdistribution:groups:create | สร้างกลุ่มผู้ทดสอบ |
| appdistribution:groups:delete | ลบกลุ่มผู้ทดสอบ |
| appdistribution:groups:list | แสดงรายการกลุ่มผู้ทดสอบในโปรเจ็กต์ |
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 BACKEND_ID \ --emails EMAILS \ --project PROJECT_ID \ --location REGION |
ให้สิทธิ์แก่ข้อมูลลับที่ระบุแก่ บัญชีบริการ ผู้ใช้ หรือกลุ่ม เพื่อให้ App Hosting เข้าถึงได้ในเวลาสร้าง หรือรันไทม์ ส่งค่าลับอย่างน้อย 1 รายการโดยคั่นด้วยคอมมา |
| 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 สำหรับฐานข้อมูล Enterprise เอาต์พุตจะมีสถานะ |
| 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:export | ส่งออกการกำหนดค่ารันไทม์ของโปรเจ็กต์ที่ใช้งานอยู่ไปยัง Google Cloud Secret Manager |
| functions:config:get | เลิกใช้งานแล้ว ดึงค่าการกำหนดค่าที่มีอยู่ของ Cloud Functions ของโปรเจ็กต์ที่ใช้งานอยู่ |
| functions:config:set | เลิกใช้งานแล้ว จัดเก็บค่าการกำหนดค่ารันไทม์ ของ Cloud Functions ของโปรเจ็กต์ที่ใช้งานอยู่ |
| functions:config:unset | เลิกใช้งานแล้ว นำค่าออกจาก การกำหนดค่ารันไทม์ของโปรเจ็กต์ที่ใช้งานอยู่ |
| functions:delete \ FUNCTION_NAME |
ลบฟังก์ชันที่ระบุ |
| functions:list | แสดงรายการฟังก์ชันที่ทำให้ใช้งานได้ |
| functions:log | อ่านบันทึกจาก Cloud Functions ที่ติดตั้งใช้งาน |
| functions:secrets:access \ SECRET_NAME |
เข้าถึงค่าข้อมูลลับโดยระบุข้อมูลลับและเวอร์ชันของข้อมูลลับ |
| functions:secrets:destroy \ SECRET_NAME |
ทำลายข้อมูลลับ |
| functions:secrets:get \ SECRET_NAME |
รับข้อมูลเมตาสำหรับข้อมูลลับและเวอร์ชันของข้อมูลลับ |
| functions:secrets:prune | ทำลายข้อมูลลับที่ไม่ได้ใช้ |
| functions:secrets:set \ SECRET_NAME |
สร้างหรืออัปเดตข้อมูลลับ |
| functions:shell | เริ่มเชลล์แบบอินเทอร์แอกทีฟในเครื่องเพื่อทดสอบฟังก์ชัน |
ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบการกำหนดค่า สภาพแวดล้อม
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 |
SQL Connect คำสั่ง
คำสั่งเหล่านี้และกรณีการใช้งานจะอธิบายไว้โดยละเอียดในSQL Connectคู่มืออ้างอิง CLI
| สั่ง | คำอธิบาย |
|---|---|
| dataconnect:services:list | แสดงรายการบริการ SQL Connect ทั้งหมดที่ติดตั้งใช้งานในโปรเจ็กต์ Firebase |
| dataconnect:sql:diff \ SERVICE_ID |
สำหรับบริการที่ระบุ จะแสดงความแตกต่างระหว่าง SQL Connectสคีมาในเครื่องกับสคีมาฐานข้อมูล Cloud SQL |
| dataconnect:sql:migrate \ --force \ SERVICE_ID |
ย้ายข้อมูลสคีมาของฐานข้อมูล Cloud SQL ให้ตรงกับสคีมาในเครื่อง SQL Connect |
| dataconnect:sql:grant\ --role=ROLE \ --email=EMAIL \ SERVICE_ID |
มอบบทบาท SQL ให้กับอีเมลของผู้ใช้หรือบัญชีบริการที่ระบุ
สำหรับแฟล็ก --role บทบาท SQL ที่จะให้คือบทบาทใดบทบาทหนึ่งต่อไปนี้
owner, writer หรือ reader
สำหรับแฟล็ก --email ให้ระบุอีเมลของผู้ใช้หรือบัญชีบริการที่จะมอบหมายบทบาทให้
|
| dataconnect:sdk:generate | สร้าง SDK ที่พิมพ์สำหรับตัวเชื่อมต่อ SQL 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:sdk:install | ติดตั้ง SDK เพื่อกำหนดส่วนขยายในฟังก์ชัน |
| 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 content and config to the specified preview channel หากยังไม่มีช่องตัวอย่าง คำสั่งนี้จะสร้างช่องในเว็บไซต์ default Hosting ก่อนที่จะนำไปใช้กับช่อง |
| firebase hosting:channel:list | แสดงรายการช่องทั้งหมด (รวมถึงช่อง "live") ในเว็บไซต์เริ่มต้น Hosting |
| firebase hosting:channel:open \ CHANNEL_ID |
เปิดเบราว์เซอร์ไปยัง URL ของช่องที่ระบุ หรือแสดง URL หากเปิดในเบราว์เซอร์ไม่ได้ |
| การโคลนเวอร์ชัน | |
| firebase hosting:clone \ SOURCE_SITE_ID:SOURCE_CHANNEL_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
โคลนเวอร์ชันที่เพิ่งติดตั้งใช้งานล่าสุดในช่อง "แหล่งที่มา" ที่ระบุไปยังช่อง "เป้าหมาย" ที่ระบุ คำสั่งนี้ยังทำให้ระบบนำไปใช้กับช่อง "เป้าหมาย" ที่ระบุด้วย หากยังไม่มีช่อง "เป้าหมาย" คำสั่งนี้จะสร้างช่องตัวอย่างใหม่ในเว็บไซต์ Hosting "เป้าหมาย" ก่อนที่จะ นำไปใช้กับช่อง |
| firebase hosting:clone \ SOURCE_SITE_ID:@VERSION_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
โคลนเวอร์ชันที่ระบุไปยังช่อง "เป้าหมาย" ที่ระบุ คำสั่งนี้ยังทำให้ระบบนำไปใช้กับช่อง "เป้าหมาย" ที่ระบุด้วย หากยังไม่มีช่อง "เป้าหมาย" คำสั่งนี้จะสร้างช่องตัวอย่างใหม่ในเว็บไซต์ Hosting "เป้าหมาย" ก่อนที่จะ นำไปใช้กับช่อง คุณดู |
Realtime Database คำสั่ง
โปรดทราบว่าคุณสร้างอินสแตนซ์ Realtime Databaseเริ่มต้นที่เป็นค่าเริ่มต้นได้ใน
Firebase คอนโซลหรือโดยใช้เวิร์กโฟลว์firebase initทั่วไปหรือโฟลว์firebase init databaseที่เฉพาะเจาะจง
เมื่อสร้างอินสแตนซ์แล้ว คุณจะจัดการอินสแตนซ์ได้ตามที่อธิบายไว้ในหัวข้อจัดการและโต้ตอบกับอินสแตนซ์ที่เฉพาะเจาะจงโดยใช้ CLI
| สั่ง | คำอธิบาย |
|---|---|
| database:get | ดึงข้อมูลจากฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่และแสดงเป็น JSON รองรับการค้นหาในข้อมูลที่จัดทำดัชนี |
| database:instances:create | สร้างอินสแตนซ์ฐานข้อมูลที่มีชื่ออินสแตนซ์ที่ระบุ ยอมรับ--locationตัวเลือกในการสร้างฐานข้อมูลในภูมิภาคที่ระบุ
ดูชื่อภูมิภาคที่จะใช้กับตัวเลือกนี้ได้ที่
เลือกสถานที่ตั้งสำหรับโปรเจ็กต์
หากไม่มีอินสแตนซ์ฐานข้อมูลสำหรับโปรเจ็กต์ปัจจุบัน ระบบจะแจ้งให้คุณ
เรียกใช้โฟลว์ firebase init เพื่อสร้างอินสแตนซ์
|
| database:instances:list | แสดงรายการอินสแตนซ์ฐานข้อมูลทั้งหมดสำหรับโปรเจ็กต์นี้ ยอมรับ
--location option สำหรับการแสดงฐานข้อมูลใน
ภูมิภาคที่ระบุ ดูชื่อภูมิภาคที่จะใช้กับตัวเลือกนี้ได้ที่
เลือกสถานที่ตั้งสำหรับโปรเจ็กต์ |
| 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
ก่อนดำเนินการย้อนกลับ |
| remoteconfig:experiments:list \ --filter EXPRESSION --pageSize NUMBER --pageToken TOKEN |
แสดงรายการRemote Configการทดสอบทั้งหมดของโปรเจ็กต์ พร้อมการกรองที่ไม่บังคับ จำนวนการทดสอบที่จะแสดงต่อหน้า (ค่าเริ่มต้นคือ 10) และโทเค็นหน้าเป็นออฟเซ็ตเริ่มต้นของรายการ |
| remoteconfig:experiments:get \ EXPERIMENT_ID |
รับรายละเอียดของRemote Configการทดสอบที่ระบุ |
| remoteconfig:experiments:delete \ EXPERIMENT_ID |
ลบRemote Configการทดสอบที่ระบุ |
| remoteconfig:rollouts:list \ --filter EXPRESSION --pageSize NUMBER --pageToken TOKEN |
แสดงรายการRemote Configการเปิดตัวทั้งหมดสำหรับโปรเจ็กต์ โดยมีตัวเลือก การกรอง จำนวนการเปิดตัวที่จะแสดงต่อหน้า (ค่าเริ่มต้นคือ 10) และ โทเค็นหน้าเป็นออฟเซ็ตเริ่มต้นสำหรับรายการ |
| remoteconfig:rollouts:get \ ROLLOUT_ID |
รับรายละเอียดของRemote ConfigการเปิดตัวRemote Configที่ระบุ |
| remoteconfig:rollouts:delete \ ROLLOUT_ID |
ลบRemote Configการเปิดตัวที่ระบุ |