Firebase CLI (GitHub) มี เครื่องมือมากมายสำหรับการจัดการ การดู และการติดตั้งใช้งานโปรเจ็กต์ Firebase
ก่อนใช้ Firebase CLI ให้ตั้งค่าโปรเจ็กต์ Firebase
ตั้งค่าหรืออัปเดต CLI
ติดตั้ง Firebase CLI
คุณติดตั้ง Firebase CLI ได้โดยใช้วิธีที่ตรงกับระบบปฏิบัติการ ระดับประสบการณ์ และ/หรือกรณีการใช้งาน ไม่ว่าคุณจะติดตั้ง CLI อย่างไร คุณก็จะมีสิทธิ์เข้าถึงฟังก์ชันการทำงานเดียวกันและคำสั่ง firebase
Windows
คุณติดตั้ง Firebase CLI สำหรับ Windows ได้โดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
| ตัวเลือก | คำอธิบาย | แนะนำสำหรับ... |
|---|---|---|
| ไบนารีแบบสแตนด์อโลน | ดาวน์โหลดไบนารีแบบสแตนด์อโลนสำหรับ CLI จากนั้นคุณจะเข้าถึง
ไฟล์ที่เรียกใช้งานได้เพื่อเปิดเชลล์ที่คุณเรียกใช้คำสั่ง
firebase ได้
|
นักพัฒนาแอปใหม่ นักพัฒนาแอปที่ไม่ได้ใช้หรือไม่คุ้นเคยกับ Node.js |
| npm | ใช้ npm (Node Package Manager) เพื่อติดตั้ง 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 Package Manager) เพื่อติดตั้ง CLI และเปิดใช้คำสั่ง firebase ที่พร้อมใช้งานทั่วโลก
|
นักพัฒนาซอฟต์แวร์ที่ใช้ Node.js |
สคริปต์การติดตั้งอัตโนมัติ
หากต้องการติดตั้ง Firebase CLI โดยใช้สคริปต์การติดตั้งอัตโนมัติ ให้ทำตามขั้นตอนต่อไปนี้
เรียกใช้คำสั่ง cURL ต่อไปนี้
curl -sL https://firebase.tools | bash
สคริปต์นี้จะตรวจหาระบบปฏิบัติการโดยอัตโนมัติ ดาวน์โหลด Firebase CLI เวอร์ชันล่าสุด แล้วเปิดใช้คำสั่ง
firebaseที่พร้อมให้บริการทั่วโลกเข้าสู่ระบบและทดสอบ CLI ต่อไป
ดูตัวอย่างและรายละเอียดเพิ่มเติมเกี่ยวกับสคริปต์การติดตั้งอัตโนมัติได้ที่ ซอร์สโค้ดของสคริปต์ที่ firebase.tools
ไบนารีแบบสแตนด์อโลน
หากต้องการดาวน์โหลดและเรียกใช้ไบนารีสำหรับ CLI ของ Firebase ที่เฉพาะเจาะจง สำหรับระบบปฏิบัติการของคุณ ให้ทำตามขั้นตอนต่อไปนี้
ดาวน์โหลดไบนารีของ Firebase CLI สำหรับระบบปฏิบัติการของคุณ macOS | Linux
(ไม่บังคับ) ตั้งค่าคำสั่ง
firebaseที่พร้อมใช้งานทั่วโลก- ทำให้ไบนารีเรียกใช้งานได้โดยเรียกใช้
chmod +x ./firebase_tools - เพิ่มเส้นทางของไบนารีลงใน PATH
- ทำให้ไบนารีเรียกใช้งานได้โดยเรียกใช้
เข้าสู่ระบบและทดสอบ CLI ต่อไป
npm
หากต้องการใช้ npm (Node Package Manager) เพื่อติดตั้ง 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 ที่เฉพาะเจาะจง คุณสามารถใช้
รายการที่คั่นด้วยคอมมาใน Flag ในคำสั่ง 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 |
ความขัดแย้งในการติดตั้งใช้งานสำหรับ Security Rules
สำหรับ Firebase Realtime Database, Cloud Storage for Firebase และ Cloud Firestore คุณสามารถกำหนด Security Rules ได้ทั้งในไดเรกทอรีโปรเจ็กต์ที่อยู่ในเครื่องหรือในFirebase คอนโซล
อีกตัวเลือกหนึ่งในการหลีกเลี่ยงความขัดแย้งในการติดตั้งใช้งานคือใช้การติดตั้งใช้งานบางส่วนและกำหนดเฉพาะ Security Rules ใน คอนโซล Firebase
ตั้งค่างานที่เขียนสคริปต์ก่อนและหลังการติดตั้งใช้งาน
คุณเชื่อมต่อสคริปต์เชลล์กับคำสั่ง firebase deploy เพื่อดำเนินการ
งานก่อนการติดตั้งใช้งานหรือหลังการติดตั้งใช้งานได้ ตัวอย่างเช่น สคริปต์ก่อนการติดตั้งใช้งานอาจทำการ Transpile โค้ด TypeScript เป็น JavaScript และ Hook หลังการติดตั้งใช้งานอาจแจ้งเตือนผู้ดูแลระบบเกี่ยวกับการติดตั้งใช้งานเนื้อหาเว็บไซต์ใหม่ไปยัง 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 ทำงานไม่เสร็จตามที่คาดไว้ ระบบจะยกเลิกการทำให้ใช้งานได้
- หากการติดตั้งใช้งานล้มเหลวไม่ว่าด้วยเหตุผลใดก็ตาม ระบบจะไม่ทริกเกอร์ฮุกหลังการติดตั้งใช้งาน
ตัวแปรสภาพแวดล้อม
ตัวแปรสภาพแวดล้อมต่อไปนี้พร้อมใช้งานในสคริปต์ที่ทำงานในฮุก predeploy และ postdeploy
$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 ที่ใช้งานอยู่ |
| logout | ออกจากระบบบัญชี Google จาก CLI |
| เปิด | เปิดเบราว์เซอร์ไปยังแหล่งข้อมูลของโปรเจ็กต์ที่เกี่ยวข้อง |
| projects:list | แสดงโปรเจ็กต์ Firebase ทั้งหมดที่คุณมีสิทธิ์เข้าถึง |
| ใช้ | ตั้งค่าโปรเจ็กต์ Firebase ที่ใช้งานอยู่สำหรับ CLI จัดการนามแฝงของโปรเจ็กต์ |
คำสั่งการจัดการโปรเจ็กต์
| คำสั่ง | คำอธิบาย | |
|---|---|---|
| การจัดการโปรเจ็กต์ Firebase | ||
| projects:addfirebase | เพิ่มทรัพยากร Firebase และเปิดใช้บริการ Firebase ในโปรเจ็กต์ ที่มีอยู่ Google Cloud | |
| projects:create | สร้างGoogle Cloudโปรเจ็กต์ใหม่ แล้วเพิ่มทรัพยากร Firebase ลงใน โปรเจ็กต์ใหม่ | |
| projects:list | แสดงโปรเจ็กต์ Firebase ทั้งหมดที่คุณมีสิทธิ์เข้าถึง | |
| การจัดการแอป Firebase (iOS, Android, เว็บ) | ||
| apps:create | สร้างแอป Firebase ใหม่ในโปรเจ็กต์ที่ใช้งานอยู่ | |
| apps:list | แสดงแอป Firebase ที่ลงทะเบียนในโปรเจ็กต์ที่ใช้งานอยู่ | |
| apps:sdkconfig | พิมพ์การกำหนดค่า Firebase ของแอป Firebase | |
| setup:web | เลิกใช้งานแล้ว แต่ให้ใช้ apps:sdkconfig และ
ระบุ web เป็นอาร์กิวเมนต์แพลตฟอร์มพิมพ์ การกำหนดค่า Firebase ของ 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 ที่ระบุออกจาก แอป Firebase Android ที่ระบุ | |
| apps:android:sha:list \ FIREBASE_APP_ID |
แสดงรายการแฮชใบรับรอง SHA สำหรับ แอป Android ของ Firebase ที่ระบุ | |
การติดตั้งใช้งานและการพัฒนาในพื้นที่
คำสั่งเหล่านี้ช่วยให้คุณติดตั้งใช้งานและโต้ตอบกับ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 |
สร้างการเปิดตัวที่ทริกเกอร์ด้วยตนเอง ระบุการคอมมิตล่าสุดไปยัง Branch หรือการคอมมิตที่เฉพาะเจาะจง (ไม่บังคับ) หากไม่มีตัวเลือกใดๆ ให้เลือก ระบบจะแสดงรายการสาขาให้เลือก |
| 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 ที่ใช้งานอยู่ซึ่งมีFirebase Hosting การเข้าชม 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 |
นำHostingเนื้อหาและการกำหนดค่าไปใช้กับช่องแสดงตัวอย่างที่ระบุ หากยังไม่มีช่องตัวอย่าง คำสั่งนี้จะสร้างช่องในเว็บไซต์เริ่มต้น Hosting ก่อนที่จะนำไปใช้กับช่อง |
| firebase hosting:channel:list | แสดงรายการช่องทั้งหมด (รวมถึงช่อง "สด") ในเว็บไซต์เริ่มต้น 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 |
โคลนเวอร์ชันที่ระบุไปยังช่อง "เป้าหมาย" ที่ระบุ คำสั่งนี้ยังทำให้ช่อง "เป้าหมาย" ที่ระบุใช้งานได้ด้วย หากยังไม่มีช่อง "target" คำสั่งนี้จะสร้างช่องตัวอย่างใหม่ในเว็บไซต์ Hosting "target" ก่อนที่จะนำไปใช้กับช่อง คุณดู |
Realtime Database คำสั่ง
โปรดทราบว่าคุณสร้างRealtime Databaseอินสแตนซ์เริ่มต้นที่เป็นค่าเริ่มต้นได้ใน
Firebaseคอนโซลหรือโดยใช้เวิร์กโฟลว์firebase initทั่วไปหรือfirebase init databaseโฟลว์ที่เฉพาะเจาะจง
เมื่อสร้างอินสแตนซ์แล้ว คุณจะจัดการอินสแตนซ์ได้ตามที่อธิบายไว้ในส่วนจัดการและโต้ตอบกับอินสแตนซ์ที่เฉพาะเจาะจงโดยใช้ CLI
| คำสั่ง | คำอธิบาย |
|---|---|
| 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
ก่อนดำเนินการย้อนกลับ |
| 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การเปิดตัวที่ระบุ |
| remoteconfig:rollouts:delete \ ROLLOUT_ID |
ลบการเปิดตัว Remote Config ที่ระบุ |