Firebase CLI (GitHub) มีเครื่องมือมากมายสำหรับการจัดการ ดู และทำให้ใช้งานได้ในโปรเจ็กต์ Firebase
ก่อนใช้ Firebase CLI ให้สร้างโปรเจ็กต์ Firebase
ตั้งค่าหรืออัปเดต CLI
ติดตั้ง Firebase CLI
คุณติดตั้ง Firebase CLI โดยใช้วิธีการที่ตรงกับระบบปฏิบัติการ ระดับประสบการณ์ และ/หรือกรณีการใช้งานได้ ไม่ว่าจะติดตั้ง CLI ด้วยวิธีใด คุณก็จะมีสิทธิ์เข้าถึงฟังก์ชันการทํางานและคําสั่ง firebase
เดียวกัน
หน้าต่าง
คุณติดตั้ง Firebase CLI สำหรับ Windows ได้โดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
ตัวเลือก | คำอธิบาย | แนะนำสำหรับ... |
---|---|---|
ไบนารีแบบสแตนด์อโลน | ดาวน์โหลดไบนารีแบบสแตนด์อโลนสำหรับ CLI จากนั้นคุณจะเข้าถึงไฟล์สั่งการเพื่อเปิด Shell ที่เรียกใช้คำสั่ง firebase ได้
|
นักพัฒนาซอฟต์แวร์รายใหม่ นักพัฒนาซอฟต์แวร์ที่ไม่ได้ใช้หรือไม่คุ้นเคยกับ Node.js |
npm | ใช้ npm (ตัวจัดการแพ็กเกจโหนด) เพื่อติดตั้ง CLI และเปิดใช้คำสั่ง firebase ที่ใช้ได้ทั่วโลก
|
นักพัฒนาซอฟต์แวร์ที่ใช้ Node.js |
ไบนารีแบบสแตนด์อโลน
หากต้องการดาวน์โหลดและเรียกใช้ไบนารีสำหรับ Firebase CLI ให้ทำตามขั้นตอนต่อไปนี้
ดาวน์โหลดไบนารี Firebase CLI สำหรับ Windows
เข้าถึงไบนารีเพื่อเปิด Shell ที่คุณเรียกใช้คำสั่ง
firebase
ได้
npm
หากต้องการใช้ npm
(ตัวจัดการแพ็กเกจโหนด) เพื่อติดตั้ง Firebase CLI ให้ทำตามขั้นตอนต่อไปนี้
ติดตั้ง Node.js โดยใช้ nvm-windows (เครื่องมือจัดการเวอร์ชันของโหนด) การติดตั้ง Node.js จะติดตั้งเครื่องมือคำสั่ง
npm
โดยอัตโนมัติติดตั้ง Firebase CLI ผ่าน
npm
โดยเรียกใช้คำสั่งต่อไปนี้npm install -g firebase-tools
คำสั่งนี้จะเป็นการเปิดใช้คำสั่ง
firebase
ที่ใช้ได้ทั่วโลก
macOS หรือ Linux
คุณติดตั้ง Firebase CLI สำหรับ macOS หรือ Linux ได้โดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
ตัวเลือก | คำอธิบาย | แนะนำสำหรับ... |
---|---|---|
สคริปต์การติดตั้งอัตโนมัติ | เรียกใช้คำสั่งเดียวที่ตรวจหาระบบปฏิบัติการของคุณโดยอัตโนมัติ ดาวน์โหลด CLI รุ่นล่าสุด แล้วเปิดใช้คำสั่ง firebase ที่ใช้ได้ทั่วโลก
|
นักพัฒนาแอปรายใหม่ นักพัฒนาแอปที่ไม่ได้ใช้หรือไม่คุ้นเคยกับ Node.js ติดตั้งใช้งานโดยอัตโนมัติในสภาพแวดล้อม CI/CD |
ไบนารีแบบสแตนด์อโลน | ดาวน์โหลดไบนารีแบบสแตนด์อโลนสำหรับ CLI จากนั้นจึงกำหนดค่าและเรียกใช้ไบนารีที่เหมาะกับเวิร์กโฟลว์ | เวิร์กโฟลว์ที่ปรับแต่งได้อย่างเต็มรูปแบบโดยใช้ CLI |
npm | ใช้ npm (ตัวจัดการแพ็กเกจโหนด) เพื่อติดตั้ง CLI และเปิดใช้คำสั่ง firebase ที่ใช้ได้ทั่วโลก
|
นักพัฒนาซอฟต์แวร์ที่ใช้ Node.js |
สคริปต์การติดตั้งอัตโนมัติ
หากต้องการติดตั้ง Firebase CLI โดยใช้สคริปต์การติดตั้งอัตโนมัติ ให้ทำตามขั้นตอนต่อไปนี้
เรียกใช้คำสั่ง cURL ต่อไปนี้
curl -sL https://firebase.tools | bash
สคริปต์นี้จะตรวจหาระบบปฏิบัติการของคุณโดยอัตโนมัติ ดาวน์โหลด Firebase CLI รุ่นล่าสุด แล้วเปิดใช้คำสั่ง
firebase
ที่ใช้ได้ทั่วโลก
สำหรับตัวอย่างและรายละเอียดเพิ่มเติมเกี่ยวกับสคริปต์การติดตั้งอัตโนมัติ โปรดดูซอร์สโค้ดของสคริปต์ที่ firebase.tools
ไบนารีแบบสแตนด์อโลน
หากต้องการดาวน์โหลดและเรียกใช้ไบนารีของ Firebase CLI ที่เฉพาะเจาะจงสำหรับระบบปฏิบัติการของคุณ ให้ทำตามขั้นตอนต่อไปนี้
ดาวน์โหลดไบนารี Firebase CLI สำหรับระบบปฏิบัติการที่คุณใช้: macOS | Linux
(ไม่บังคับ) ตั้งค่าคำสั่ง
firebase
ที่ใช้ได้ทั่วโลก- ทำให้ไฟล์สั่งการไบนารีได้โดยเรียกใช้
chmod +x ./firebase_tools
- เพิ่มเส้นทางของไบนารีลงใน PATH
- ทำให้ไฟล์สั่งการไบนารีได้โดยเรียกใช้
npm
หากต้องการใช้ npm
(ตัวจัดการแพ็กเกจโหนด) เพื่อติดตั้ง Firebase CLI ให้ทำตามขั้นตอนต่อไปนี้
เข้าสู่ระบบและทดสอบ Firebase CLI
หลังจากติดตั้ง CLI คุณต้องตรวจสอบสิทธิ์ จากนั้นคุณจะยืนยันการตรวจสอบสิทธิ์ได้โดยแสดงรายการโปรเจ็กต์ Firebase
เข้าสู่ระบบ Firebase โดยใช้บัญชี Google โดยเรียกใช้คำสั่งต่อไปนี้
firebase login
คำสั่งนี้จะเชื่อมต่อเครื่องภายในกับ Firebase และให้สิทธิ์คุณเข้าถึงโปรเจ็กต์ Firebase
ทดสอบว่า CLI ติดตั้งอย่างถูกต้องและเข้าถึงบัญชีของคุณโดยการแสดงโปรเจ็กต์ Firebase ของคุณ เรียกใช้คำสั่งต่อไปนี้
firebase projects:list
รายการที่แสดงควรเหมือนกับโปรเจ็กต์ Firebase ที่ระบุไว้ในคอนโซล Firebase
อัปเดตเป็น CLI เวอร์ชันล่าสุด
โดยทั่วไปคุณต้องการใช้ Firebase CLI เวอร์ชันล่าสุด
วิธีอัปเดตเวอร์ชัน 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
Firebase CLI ต้องใช้เบราว์เซอร์เพื่อตรวจสอบสิทธิ์ให้เสร็จสมบูรณ์ แต่ CLI เข้ากันได้กับ CI และสภาพแวดล้อมแบบไม่มีส่วนหัวอื่นๆ อย่างสมบูรณ์
ติดตั้ง Firebase CLI ในเครื่องที่มีเบราว์เซอร์
เริ่มขั้นตอนการลงชื่อเข้าใช้โดยเรียกใช้คำสั่งต่อไปนี้
firebase login:ci
ไปที่ URL ที่ระบุ จากนั้นเข้าสู่ระบบโดยใช้บัญชี Google
พิมพ์โทเค็นการรีเฟรชใหม่ เซสชัน CLI ปัจจุบันจะไม่ได้รับผลกระทบ
จัดเก็บโทเค็นเอาต์พุตด้วยวิธีที่ปลอดภัยแต่เข้าถึงได้ในระบบ CI
ใช้โทเค็นนี้เมื่อเรียกใช้คำสั่ง
firebase
คุณสามารถใช้ตัวเลือกใดตัวเลือกหนึ่ง ต่อไปนี้ตัวเลือกที่ 1: จัดเก็บโทเค็นเป็นตัวแปรสภาพแวดล้อม
FIREBASE_TOKEN
ระบบจะใช้โทเค็นโดยอัตโนมัติตัวเลือกที่ 2: เรียกใช้คำสั่ง
firebase
ทั้งหมดด้วยแฟล็ก--token TOKEN
ในระบบ CI
ลำดับความสำคัญในการโหลดโทเค็นมีดังนี้ Flag, ตัวแปรสภาพแวดล้อม, โปรเจ็กต์ Firebase ที่ต้องการ
เริ่มต้นโปรเจ็กต์ Firebase
งานทั่วไปหลายอย่างที่ทำโดยใช้ CLI เช่น การทำให้อยู่ในโปรเจ็กต์ Firebase จำเป็นต้องมีไดเรกทอรีโปรเจ็กต์ ให้คุณสร้างไดเรกทอรีโปรเจ็กต์
ด้วยคำสั่ง firebase init
ไดเรกทอรีของโปรเจ็กต์มักจะเป็นไดเรกทอรีเดียวกับรูทควบคุมแหล่งที่มา และหลังจากเรียกใช้ firebase init
ไดเรกทอรีจะมีไฟล์การกำหนดค่า firebase.json
อยู่ด้วย
หากต้องการเริ่มต้นโปรเจ็กต์ Firebase ใหม่ ให้เรียกใช้คำสั่งต่อไปนี้จากในไดเรกทอรีของแอป
firebase init
คำสั่ง firebase init
จะนำคุณเข้าสู่การตั้งค่าไดเรกทอรีโปรเจ็กต์และผลิตภัณฑ์ Firebase บางรายการ ในระหว่างการเริ่มต้นโปรเจ็กต์ Firebase CLI จะขอให้คุณทำงานต่อไปนี้ให้เสร็จสมบูรณ์
เลือกผลิตภัณฑ์ Firebase ที่ต้องการตั้งค่าในโปรเจ็กต์ Firebase
ขั้นตอนนี้จะแจ้งให้คุณตั้งการกำหนดค่าสำหรับไฟล์เฉพาะสำหรับผลิตภัณฑ์ที่เลือก ดูรายละเอียดเพิ่มเติมเกี่ยวกับการกำหนดค่าเหล่านี้ได้ในเอกสารประกอบของผลิตภัณฑ์เฉพาะ (เช่น โฮสติ้ง) โปรดทราบว่าคุณเรียกใช้
firebase init
ในภายหลังได้เสมอเพื่อตั้งค่าผลิตภัณฑ์ Firebase เพิ่มเติมเลือกโปรเจ็กต์ Firebase เริ่มต้น
ขั้นตอนนี้จะเชื่อมโยงไดเรกทอรีโปรเจ็กต์ปัจจุบันกับโปรเจ็กต์ Firebase เพื่อให้คำสั่งเฉพาะโปรเจ็กต์ (เช่น
firebase deploy
) ทำงานกับโปรเจ็กต์ Firebase ที่เหมาะสมนอกจากนี้ คุณยังเชื่อมโยงโปรเจ็กต์ Firebase หลายโปรเจ็กต์ (เช่น โปรเจ็กต์ชั่วคราวและโปรเจ็กต์ที่ใช้งานจริง) กับไดเรกทอรีโปรเจ็กต์เดียวกันได้ด้วย
เมื่อสิ้นสุดการเริ่มต้น Firebase จะสร้างไฟล์ 2 ไฟล์ต่อไปนี้โดยอัตโนมัติที่รูทของไดเรกทอรีแอปในเครื่อง
ไฟล์การกำหนดค่า
firebase.json
ที่แสดงรายการการกำหนดค่าโปรเจ็กต์ไฟล์
.firebaserc
ที่จัดเก็บชื่อแทนโปรเจ็กต์
ไฟล์ firebase.json
คำสั่ง firebase init
จะสร้างไฟล์การกำหนดค่า firebase.json
ในรูทของไดเรกทอรีโปรเจ็กต์
ไฟล์ firebase.json
ต้องใช้ในการทำให้เนื้อหาใช้งานได้ด้วย Firebase CLI เนื่องจากไฟล์ดังกล่าวระบุว่าไฟล์และการตั้งค่าใดจากไดเรกทอรีโปรเจ็กต์ที่จะทำให้ใช้งานได้กับโปรเจ็กต์ Firebase เนื่องจากคุณกำหนดการตั้งค่าบางอย่างได้ในไดเรกทอรีโปรเจ็กต์หรือคอนโซล Firebase ดังนั้นอย่าลืมแก้ไขความขัดแย้งในการติดตั้งใช้งานที่อาจเกิดขึ้น
คุณกำหนดค่าตัวเลือกโฮสติ้งของ Firebase ส่วนใหญ่ได้โดยตรงในไฟล์ firebase.json
อย่างไรก็ตาม สำหรับบริการ Firebase อื่นๆ ที่ใช้กับ Firebase CLI ได้ คำสั่ง firebase init
จะสร้างไฟล์เฉพาะซึ่งคุณกำหนดการตั้งค่าสำหรับบริการเหล่านั้นได้ เช่น ไฟล์ index.js
สำหรับ Cloud Functions นอกจากนี้ คุณยังตั้งค่า Hooks ล่วงหน้าหรือหลังจากทำให้ใช้งานได้ในไฟล์ firebase.json
ได้ด้วย
ต่อไปนี้เป็นตัวอย่างไฟล์ firebase.json
ที่มีการตั้งค่าเริ่มต้นหากคุณเลือกโฮสติ้งของ Firebase, Cloud Firestore และ Cloud Functions for Firebase (ด้วยการเลือกแหล่งที่มาและ Lint ของ 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 และไฟล์ต้นทางดัชนีฐานข้อมูลที่แตกต่างกันกับฐานข้อมูลแต่ละรายการ แก้ไขไฟล์ด้วยอาร์เรย์ 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 ที่โฮสต์ในเครื่องก่อนทำให้ใช้งานได้ในเวอร์ชันที่ใช้งานจริงได้ หากต้องการทดสอบเฉพาะฟีเจอร์บางอย่าง ให้ใช้รายการที่คั่นด้วยคอมมาในแฟล็กของคำสั่ง firebase serve
เรียกใช้คำสั่งต่อไปนี้จากรูทของไดเรกทอรีโปรเจ็กต์ในเครื่องหากต้องการดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้
- ดูเนื้อหาแบบคงที่สำหรับแอปที่โฮสต์ด้วย Firebase
- ใช้ฟังก์ชัน Cloud Functions เพื่อสร้างเนื้อหาแบบไดนามิกสำหรับโฮสติ้งของ Firebase และต้องการใช้ฟังก์ชัน HTTP เวอร์ชันที่ใช้งานจริง (ทำให้ใช้งานได้แล้ว) เพื่อจำลองโฮสติ้งบน URL ภายใน
firebase serve --only hosting
จำลองโปรเจ็กต์โดยใช้ฟังก์ชัน HTTP local
เรียกใช้คำสั่งต่อไปนี้จากไดเรกทอรีโปรเจ็กต์เพื่อจำลองโปรเจ็กต์โดยใช้ฟังก์ชัน HTTP local
หากต้องการจำลองฟังก์ชัน 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 เวอร์ชันใหม่
- Cloud Functions for Firebase ใหม่ ที่อัปเดต หรือที่มีอยู่
- กฎสำหรับฐานข้อมูลเรียลไทม์ของ Firebase
- กฎสำหรับ Cloud Storage สำหรับ Firebase
- กฎสำหรับ Cloud Firestore
- ดัชนีสำหรับ Cloud Firestore
หากต้องการทำให้โปรเจ็กต์ Firebase ใช้งานได้ ให้เรียกใช้คำสั่งต่อไปนี้จากไดเรกทอรีโปรเจ็กต์
firebase deploy
โดยคุณจะเพิ่มความคิดเห็นในการทำให้ใช้งานได้แต่ละรายการก็ได้ ความคิดเห็นนี้จะแสดงกับข้อมูลการทำให้ใช้งานได้อื่นๆ ในหน้าโฮสติ้งของ Firebase ของโปรเจ็กต์ ตัวอย่างเช่น
firebase deploy -m "Deploying the best new feature ever."
โปรดคํานึงถึงสิ่งต่อไปนี้เมื่อใช้คําสั่ง firebase deploy
หากต้องการทำให้ทรัพยากรจากไดเรกทอรีโปรเจ็กต์ใช้งานได้ ไดเรกทอรีโปรเจ็กต์ต้องมีไฟล์
firebase.json
ระบบจะสร้างไฟล์นี้ให้คุณโดยอัตโนมัติด้วยคำสั่งfirebase init
โดยค่าเริ่มต้น
firebase deploy
จะสร้างรุ่นสำหรับทรัพยากรที่ใช้ได้ทั้งหมดในไดเรกทอรีโปรเจ็กต์ หากต้องการทำให้บริการหรือฟีเจอร์ Firebase บางรายการใช้งานได้ ให้ใช้การทำให้ใช้งานได้บางส่วน
ความขัดแย้งของการทำให้ใช้งานได้สำหรับกฎความปลอดภัย
สำหรับฐานข้อมูลเรียลไทม์ของ Firebase, Cloud Storage สำหรับ Firebase และ Cloud Firestore คุณจะกำหนดกฎความปลอดภัยได้ในไดเรกทอรีโปรเจ็กต์ในเครื่องหรือในคอนโซล Firebase
อีกทางเลือกหนึ่งในการหลีกเลี่ยงความขัดแย้งของการทำให้ใช้งานได้คือใช้การทำให้ใช้งานได้บางส่วนและกำหนดกฎในคอนโซล Firebase เท่านั้น
โควต้าการทำให้ใช้งานได้
อาจเป็นไปได้ (แต่อาจไม่เกิดขึ้นก็ได้) ที่คุณใช้เกินโควต้าที่จำกัดอัตราหรือปริมาณการดำเนินการทำให้ Firebase ใช้งานได้ เช่น เมื่อทำให้ฟังก์ชันจำนวนมากใช้งานได้จำนวนมาก คุณอาจได้รับข้อความแสดงข้อผิดพลาด HTTP 429 Quota
ในการแก้ปัญหาดังกล่าว ให้ลองใช้การติดตั้งใช้งานบางส่วน
ย้อนกลับการทำให้ใช้งานได้
คุณย้อนกลับการติดตั้งใช้งานโฮสติ้งของ Firebase ได้จากหน้าโฮสติ้งของ Firebase ของโปรเจ็กต์โดยเลือกการดำเนินการย้อนกลับสำหรับรุ่นที่ต้องการ
ขณะนี้ยังย้อนกลับรุ่นของกฎความปลอดภัยสำหรับฐานข้อมูลเรียลไทม์ของ Firebase, Cloud Storage สำหรับ Firebase หรือ Cloud Firestore ไม่ได้
ทำให้บริการ Firebase บางอย่างใช้งานได้
หากต้องการติดตั้งใช้งานบริการหรือฟีเจอร์บางอย่างของ Firebase เท่านั้น ให้ใช้รายการที่คั่นด้วยคอมมาในแฟล็กของคำสั่ง firebase deploy
เช่น คำสั่งต่อไปนี้ทำให้เนื้อหาโฮสติ้งของ Firebase และกฎความปลอดภัยของ Cloud Storage ใช้งานได้
firebase deploy --only hosting,storage
ตารางต่อไปนี้แสดงรายการบริการและฟีเจอร์ที่พร้อมใช้งานบางส่วน ชื่อในแฟล็กนั้นสอดคล้องกับคีย์ในไฟล์การกำหนดค่า firebase.json
ของคุณ
ไวยากรณ์การแจ้งว่าไม่เหมาะสม | มีการนำบริการหรือฟีเจอร์ไปใช้งาน |
---|---|
--only hosting |
เนื้อหาโฮสติ้งของ Firebase |
--only database |
กฎฐานข้อมูลเรียลไทม์ของ Firebase |
--only storage |
กฎของ Cloud Storage for Firebase |
--only firestore |
กฎ Cloud Firestore และดัชนีสำหรับฐานข้อมูลที่กำหนดค่าทั้งหมด |
--only functions |
ฟังก์ชันระบบคลาวด์สำหรับ Firebase (อาจมีเวอร์ชันที่เจาะจงมากขึ้นของแฟล็กนี้) |
ทำให้ฟังก์ชันที่เฉพาะเจาะจงใช้งานได้
เมื่อทำให้ฟังก์ชันใช้งานได้ คุณสามารถกำหนดเป้าหมายฟังก์ชันเฉพาะได้ ตัวอย่างเช่น
firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2
อีกตัวเลือกหนึ่งคือการจัดกลุ่มฟังก์ชันเป็นกลุ่มส่งออกในไฟล์ /functions/index.js
ฟังก์ชันการจัดกลุ่มช่วยให้คุณทำให้ฟังก์ชันหลายรายการใช้งานได้โดยใช้คำสั่งเดียว
ตัวอย่างเช่น คุณเขียนฟังก์ชันต่อไปนี้เพื่อกำหนด groupA
และ groupB
ได้
var functions = require('firebase-functions');
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');
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
ตั้งค่างานที่ใช้สคริปต์ล่วงหน้าและหลังจากทำให้ใช้งานได้
คุณเชื่อมต่อสคริปต์ Shell กับคำสั่ง firebase deploy
เพื่อทำงานล่วงหน้าหรือหลังจากทำให้ใช้งานได้ได้ เช่น สคริปต์ที่ติดตั้งใช้งานล่วงหน้าอาจเปลี่ยนรูปแบบโค้ด TypeScript เป็น JavaScript และฮุกหลังการทำให้ใช้งานได้สามารถแจ้งให้ผู้ดูแลระบบทราบเมื่อมีเนื้อหาเว็บไซต์ใหม่ที่ทำให้ใช้งานได้กับโฮสติ้งของ Firebase
หากต้องการตั้งค่าฮุกล่วงหน้าหรือหลังจากติดตั้งใช้งาน ให้เพิ่มสคริปต์ Bash ลงในไฟล์การกำหนดค่า firebase.json
คุณระบุสคริปต์สั้นๆ ได้โดยตรงในไฟล์ firebase.json
หรืออ้างอิงไฟล์อื่นๆ ที่อยู่ในไดเรกทอรีโปรเจ็กต์ก็ได้
เช่น สคริปต์ต่อไปนี้คือนิพจน์ firebase.json
สำหรับงานหลังจากการทำให้ใช้งานได้ที่ส่งข้อความ Slack เมื่อการทำให้ใช้งานได้ของโฮสติ้งของ Firebase สำเร็จ
"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
คุณสามารถตั้งค่าฮุก predeploy
และ postdeploy
สำหรับชิ้นงานใดก็ได้ที่ทำให้ใช้งานได้ โปรดทราบว่าการเรียกใช้ firebase deploy
จะทริกเกอร์งานก่อนการทำให้ใช้งานได้และหลังจากการทำให้ใช้งานได้ทั้งหมดตามที่กำหนดไว้ในไฟล์ firebase.json
หากต้องการเรียกใช้เฉพาะงานที่เกี่ยวข้องกับบริการ Firebase เฉพาะ ให้ใช้คำสั่งการติดตั้งใช้งานบางส่วน
ฮุก predeploy
และ postdeploy
จะพิมพ์เอาต์พุตมาตรฐานและสตรีมข้อผิดพลาดของสคริปต์ไปยังเทอร์มินัล สำหรับกรณีที่ส่งไม่สำเร็จ โปรดสังเกตข้อมูลต่อไปนี้
- หากฮุกที่ทำให้ใช้งานได้ไม่สำเร็จตามที่คาดไว้ ระบบจะยกเลิกการทำให้ใช้งานได้
- หากการติดตั้งใช้งานล้มเหลวไม่ว่าด้วยสาเหตุใดก็ตาม ระบบจะไม่ทริกเกอร์ฮุกหลังจากการติดตั้งใช้งาน
ตัวแปรสภาพแวดล้อม
ภายในสคริปต์ที่ทำงานใน Hooks ก่อนทำให้ใช้งานได้และหลังจากทำให้ใช้งานได้จะมีตัวแปรสภาพแวดล้อมต่อไปนี้
$GCLOUD_PROJECT
: รหัสโปรเจ็กต์ที่ใช้งานอยู่$PROJECT_DIR
: ไดเรกทอรีรากที่มีไฟล์firebase.json
$RESOURCE_DIR
: (สำหรับสคริปต์hosting
และfunctions
เท่านั้น) ตำแหน่งของไดเรกทอรีที่มีทรัพยากรโฮสติ้งหรือ Cloud Functions ที่จะทำให้ใช้งานได้
จัดการอินสแตนซ์ Realtime Database หลายรายการ
โปรเจ็กต์ Firebase มีอินสแตนซ์ฐานข้อมูลเรียลไทม์ของ Firebase ได้หลายรายการ โดยค่าเริ่มต้น คำสั่ง 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 หรือคำสั่งเฉพาะ |
เริ่มต้น | เชื่อมโยงและสร้างโปรเจ็กต์ Firebase ใหม่ในไดเรกทอรีปัจจุบัน
คำสั่งนี้จะสร้างไฟล์การกำหนดค่า firebase.json ในไดเรกทอรีปัจจุบัน |
login | ตรวจสอบสิทธิ์ CLI ในบัญชี Firebase ต้องมีสิทธิ์เข้าถึงเว็บเบราว์เซอร์ หากต้องการเข้าสู่ระบบ CLI ในสภาพแวดล้อมระยะไกลที่ไม่อนุญาตให้เข้าถึง localhost ให้ใช้แฟล็ก --no-localhost |
login:ci | สร้างโทเค็นการตรวจสอบสิทธิ์เพื่อใช้ในสภาพแวดล้อมที่ไม่มีการโต้ตอบ |
ออกจากระบบ | ออกจากระบบ CLI จากบัญชี Firebase |
เปิด | เปิดเบราว์เซอร์เพื่อดูทรัพยากรของโปรเจ็กต์ที่เกี่ยวข้อง |
โปรเจ็กต์:รายการ | แสดงรายการโปรเจ็กต์ Firebase ทั้งหมดที่คุณมีสิทธิ์เข้าถึง |
การใช้งาน | ตั้งค่าโปรเจ็กต์ Firebase ที่ใช้งานอยู่สำหรับ CLI จัดการชื่อแทนโปรเจ็กต์ |
คำสั่งการจัดการโปรเจ็กต์
คำสั่ง | คำอธิบาย | |
---|---|---|
การจัดการโปรเจ็กต์ Firebase | ||
projects:addfirebase | เพิ่มทรัพยากร Firebase ในโปรเจ็กต์ Google Cloud ที่มีอยู่ | |
projects:create | สร้างโปรเจ็กต์ Google Cloud ใหม่ แล้วเพิ่มทรัพยากร Firebase ไปยังโปรเจ็กต์ใหม่ | |
โปรเจ็กต์:รายการ | แสดงรายการโปรเจ็กต์ Firebase ทั้งหมดที่คุณมีสิทธิ์เข้าถึง | |
การจัดการแอป Firebase (iOS, Android, เว็บ) | ||
apps:สร้าง | สร้างแอป Firebase ใหม่ในโปรเจ็กต์ที่ใช้งานอยู่ | |
แอป:รายการ | แสดงรายการแอป Firebase ที่ลงทะเบียนในโปรเจ็กต์ที่ใช้งานอยู่ | |
แอป:sdkconfig | พิมพ์การกำหนดค่าบริการของ Google ของแอป Firebase | |
ตั้งค่า:เว็บ | เลิกใช้งานแล้ว แต่ให้ใช้ apps:sdkconfig แล้วระบุ web เป็นอาร์กิวเมนต์แพลตฟอร์มพิมพ์การกำหนดค่าบริการของ Google ของเว็บแอป Firebase |
|
การจัดการแฮชใบรับรอง SHA (Android เท่านั้น) | ||
apps:android:sha:create \ FIREBASE_APP_ID SHA_HASH |
เพิ่มแฮชใบรับรอง SHA ที่ระบุลงในแอป Firebase บน Android ที่ระบุ | |
apps:android:sha:delete \ FIREBASE_APP_ID SHA_HASH |
ลบแฮชใบรับรอง SHA ที่ระบุออกจากแอป Firebase บน Android ที่ระบุ | |
apps:android:sha:list \ FIREBASE_APP_ID |
แสดงรายการแฮชใบรับรอง SHA สำหรับแอป Firebase บน Android ที่ระบุ |
การติดตั้งใช้งานและการพัฒนาภายใน
คำสั่งเหล่านี้จะทำให้คุณทำให้ใช้งานได้และโต้ตอบกับเว็บไซต์โฮสติ้งของ Firebase
คำสั่ง | คำอธิบาย |
---|---|
ติดตั้งใช้งาน | ทำให้โค้ดและเนื้อหาจากไดเรกทอรีโปรเจ็กต์ใช้งานได้กับโปรเจ็กต์ที่ใช้งานอยู่ สำหรับโฮสติ้งของ Firebase คุณต้องมีไฟล์การกำหนดค่า firebase.json
|
บริการ | เริ่มต้นเว็บเซิร์ฟเวอร์ภายในด้วยการกำหนดค่าโฮสติ้งของ Firebase
สำหรับโฮสติ้งของ Firebase คุณต้องมีไฟล์การกำหนดค่า firebase.json |
คำสั่งของ App Distribution
คำสั่ง | คำอธิบาย |
---|---|
appdistribution:distribution \ --app FIREBASE_APP_ID |
ทำให้ผู้ทดสอบสามารถใช้บิลด์ได้ |
appdistribution:testers:add | เพิ่มผู้ทดสอบไปยังโปรเจ็กต์ |
appdistribution:testers:remove | นำผู้ทดสอบออกจากโปรเจ็กต์ |
คำสั่งของโฮสติ้งแอป
คำสั่ง | คำอธิบาย |
---|---|
apphosting:backends:create \ --project PROJECT_ID --location REGION --app APP_ID |
สร้างคอลเล็กชันของทรัพยากรที่มีการจัดการซึ่งลิงก์กับฐานของโค้ดชุดเดียว ซึ่งประกอบด้วยแบ็กเอนด์การโฮสต์แอป (ไม่บังคับ) ระบุเว็บแอป Firebase ที่มีอยู่โดยใช้รหัสแอป Firebase |
apphosting:backends:get \
BACKEND_ID --project PROJECT_ID --ตำแหน่ง REGION |
เรียกข้อมูลรายละเอียดที่เจาะจง ซึ่งรวมถึง URL สาธารณะของแบ็กเอนด์ |
apphosting:backends:list \ --โปรเจ็กต์ PROJECT_ID |
เรียกข้อมูลรายการแบ็กเอนด์ที่ใช้งานอยู่ทั้งหมดที่เชื่อมโยงกับโปรเจ็กต์ |
firebase apphosting:backends:delete \
BACKEND_ID --project PROJECT_ID --location REGION |
ลบแบ็กเอนด์ออกจากโปรเจ็กต์ |
apphosting:secrets:set \ KEY --project PROJECT_ID --location REGION --data-file Data file |
จัดเก็บเนื้อหาข้อมูลลับใน Secret Manager (ไม่บังคับ) ระบุเส้นทางไฟล์ที่จะอ่านข้อมูลลับ ตั้งค่าเป็น _ เพื่ออ่านข้อมูลลับจากอินพุตมาตรฐาน
|
apphosting:secrets:grantaccess \ KEY --project PROJECT_ID BACKEND_ID --location REGION |
มอบสิทธิ์เข้าถึงข้อมูลลับที่ให้บัญชีบริการแบ็กเอนด์เพื่อให้เข้าถึงได้ด้วยโฮสติ้งแอปขณะรันไทม์หรือรันไทม์ |
apphosting:secrets:describe \ KEY --project PROJECT_ID |
รับข้อมูลเมตาสำหรับข้อมูลลับและเวอร์ชันของข้อมูลลับ |
firebase apphosting:secrets:access \ KEY[@version] --project PROJECT_ID |
เข้าถึงค่าข้อมูลลับที่ระบุข้อมูลลับและเวอร์ชันของข้อมูลลับ ค่าเริ่มต้นคือเข้าถึงเวอร์ชันล่าสุด |
คำสั่งการตรวจสอบสิทธิ์ (การจัดการผู้ใช้)
คำสั่ง | คำอธิบาย |
---|---|
auth:export | ส่งออกบัญชีผู้ใช้ของโปรเจ็กต์ที่ใช้งานอยู่เป็นไฟล์ JSON หรือ CSV ดูรายละเอียดเพิ่มเติมได้ที่หน้า auth:import และ auth:export |
auth:นำเข้า | นำเข้าบัญชีผู้ใช้จากไฟล์ 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:ลบ 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 สำหรับแอปนี้ และเชื่อมโยงกับรหัสไฟล์การแมปที่ประกาศในไฟล์ทรัพยากร (XML) ที่ระบุ |
crashlytics:symbols:upload \ --app=FIREBASE_APP_ID \ PATH/TO/SYMBOLS |
สร้างไฟล์สัญลักษณ์ที่เข้ากันได้กับ Crashlytics สำหรับข้อขัดข้องของไลบรารีเนทีฟบน Android และอัปโหลดไปยังเซิร์ฟเวอร์ Firebase |
คำสั่งของส่วนขยาย
คำสั่ง | คำอธิบาย |
---|---|
ต่อ | แสดงข้อมูลเกี่ยวกับวิธีใช้คำสั่งของ Firebase Extensions แสดงรายการอินสแตนซ์ของส่วนขยายที่ติดตั้งในโปรเจ็กต์ที่ใช้งานอยู่ |
ext:configure \ EXTENSION_INSTANCE_ID |
กำหนดค่าค่าพารามิเตอร์ของอินสแตนซ์ส่วนขยายใหม่ในไฟล์ Manifest ของส่วนขยาย |
ext:info \ PUBLISHER_ID/EXTENSION_ID |
พิมพ์ข้อมูลโดยละเอียดเกี่ยวกับส่วนขยาย |
ext:ติดตั้ง \ PUBLISHER_ID/EXTENSION_ID |
เพิ่มอินสแตนซ์ใหม่ของส่วนขยายลงในไฟล์ Manifest ของส่วนขยาย |
ext:list | แสดงรายการอินสแตนซ์ส่วนขยายทั้งหมดที่ติดตั้งในโปรเจ็กต์ Firebase พิมพ์รหัสอินสแตนซ์สำหรับส่วนขยายแต่ละรายการ |
ext:ถอนการติดตั้ง \ EXTENSION_INSTANCE_ID |
นำอินสแตนซ์ของส่วนขยายออกจากไฟล์ Manifest ของส่วนขยาย |
ext:update \ EXTENSION_INSTANCE_ID |
อัปเดตอินสแตนซ์ของส่วนขยายเป็นเวอร์ชันล่าสุดในไฟล์ Manifest ของส่วนขยาย |
ext:ส่งออก | ส่งออกอินสแตนซ์ของส่วนขยายทั้งหมดที่ติดตั้งไว้จากโปรเจ็กต์ไปยังไฟล์ Manifest ของส่วนขยาย |
คำสั่งของผู้เผยแพร่ส่วนขยาย
คำสั่ง | คำอธิบาย |
---|---|
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:disable |
หยุดแสดงการรับส่งข้อมูลโฮสติ้งของ Firebase สำหรับโปรเจ็กต์ Firebase ที่ใช้งานอยู่ URL โฮสติ้งของโปรเจ็กต์จะแสดงข้อความ "ไม่พบเว็บไซต์" หลังจากเรียกใช้คำสั่งนี้ |
การจัดการเว็บไซต์โฮสติ้ง | |
firebase Hosting:sites:create \ SITE_ID |
สร้างเว็บไซต์โฮสติ้งใหม่ในโปรเจ็กต์ Firebase ที่ใช้งานอยู่โดยใช้ (ไม่บังคับ) ระบุเว็บแอป Firebase ที่มีอยู่เพื่อเชื่อมโยงกับเว็บไซต์ใหม่โดยการส่งแฟล็กต่อไปนี้
|
firebase Hosting:sites:delete \ SITE_ID |
ลบเว็บไซต์โฮสติ้งที่ระบุ CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนลบเว็บไซต์ (ไม่บังคับ) ข้ามข้อความแจ้งการยืนยันด้วยการติดธงต่อไปนี้ |
firebase Hosting:sites:get \ SITE_ID |
เรียกข้อมูลเกี่ยวกับเว็บไซต์โฮสติ้งที่ระบุ |
firebase Hosting:sites:list |
แสดงรายการเว็บไซต์โฮสติ้งทั้งหมดสำหรับโปรเจ็กต์ Firebase ที่ใช้งานอยู่ |
การจัดการช่องตัวอย่าง | |
firebase Hosting:channel:create \ CHANNEL_ID |
สร้างช่องทางตัวอย่างใหม่ในเว็บไซต์โฮสติ้งเริ่มต้นโดยใช้ คำสั่งนี้ไม่ทำให้ใช้งานได้กับแชแนล |
firebase Hosting:channel:delete \ CHANNEL_ID |
ลบเวอร์ชันตัวอย่างที่ระบุ คุณลบช่องที่เผยแพร่อยู่ของเว็บไซต์ไม่ได้ |
firebase Hosting:channel:deploy \ CHANNEL_ID |
ทำให้เนื้อหาโฮสติ้งใช้งานได้และกำหนดค่าให้กับช่องทางตัวอย่างที่ระบุ หากยังไม่มีแชแนลตัวอย่าง คำสั่งนี้จะสร้างแชแนลในเว็บไซต์โฮสติ้งเริ่มต้นก่อนทำให้ใช้งานได้กับแชแนล |
firebase Hosting:channel:list | แสดงช่องทั้งหมด (รวมถึงช่องที่ "ถ่ายทอดสด") ในเว็บไซต์โฮสติ้งเริ่มต้น |
firebase Hosting:channel:open \ CHANNEL_ID |
เปิดเบราว์เซอร์ไปยัง URL ของช่องที่ระบุหรือแสดงผล URL หากเปิดในเบราว์เซอร์ไม่ได้ |
การโคลนเวอร์ชัน | |
firebase Hosting:clone \ SOURCE_SITE_ID:SOURCE_CHANNEL_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
โคลนเวอร์ชันที่ใช้งานล่าสุดในแชแนล "ต้นทาง" ที่ระบุไปยังเวอร์ชัน "เป้าหมาย" ที่ระบุ คำสั่งนี้จะใช้กับแชแนล "target" ที่ระบุด้วย หากยังไม่มีแชแนล "target" คำสั่งนี้จะสร้างแชแนลตัวอย่างใหม่ในเว็บไซต์โฮสติ้ง "target" ก่อนที่จะทำให้ใช้งานได้กับแชแนล |
firebase Hosting:clone \ SOURCE_SITE_ID:@VERSION_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
โคลนเวอร์ชันที่ระบุไปยังเวอร์ชัน "เป้าหมาย" ที่ระบุ คำสั่งนี้จะใช้กับแชแนล "target" ที่ระบุด้วย หากยังไม่มีแชแนล "target" คำสั่งนี้จะสร้างแชแนลตัวอย่างใหม่ในเว็บไซต์โฮสติ้ง "target" ก่อนที่จะทำให้ใช้งานได้กับแชแนล คุณดู |
คำสั่งของ Realtime Database
โปรดทราบว่าคุณสามารถสร้างอินสแตนซ์ Realtime Database เริ่มต้นในคอนโซล Firebase หรือใช้เวิร์กโฟลว์ firebase init
ทั่วไปหรือขั้นตอน firebase init database
ที่เฉพาะเจาะจงก็ได้
เมื่อสร้างอินสแตนซ์แล้ว คุณจะจัดการอินสแตนซ์เหล่านั้นได้ในหัวข้อจัดการอินสแตนซ์ Realtime Database หลายรายการ
คำสั่ง | คำอธิบาย |
---|---|
database:get | ดึงข้อมูลจากฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่และแสดงเป็น JSON รองรับการค้นหาข้อมูลที่จัดทำดัชนี |
database:instances:create | สร้างอินสแตนซ์ฐานข้อมูลที่มีชื่ออินสแตนซ์ที่ระบุ ยอมรับตัวเลือก --location สำหรับการสร้างฐานข้อมูลในภูมิภาคที่ระบุ หากต้องการดูชื่อภูมิภาคที่จะใช้กับตัวเลือกนี้ โปรดดูเลือกตำแหน่งที่ตั้งสำหรับโปรเจ็กต์
หากไม่มีอินสแตนซ์ฐานข้อมูลสำหรับโปรเจ็กต์ปัจจุบัน คุณจะได้รับข้อความแจ้งให้เรียกใช้โฟลว์ firebase init เพื่อสร้างอินสแตนซ์
|
ฐานข้อมูล:อินสแตนซ์:รายการ | แสดงรายการอินสแตนซ์ฐานข้อมูลทั้งหมดสำหรับโปรเจ็กต์นี้ ยอมรับตัวเลือก --location สำหรับการแสดงรายการฐานข้อมูลในภูมิภาคที่ระบุ หากต้องการดูชื่อภูมิภาคที่จะใช้กับตัวเลือกนี้ โปรดดูเลือกตำแหน่งที่ตั้งสำหรับโปรเจ็กต์ |
ฐานข้อมูล:โปรไฟล์ | สร้างโปรไฟล์ของการดำเนินการบนฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ ดูรายละเอียดเพิ่มเติมได้ที่ประเภทการดำเนินการของ Realtime Database |
ฐานข้อมูล:พุช | พุชข้อมูลใหม่ไปยังรายการในตำแหน่งที่ระบุในฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ รับอินพุตจากไฟล์, STDIN หรืออาร์กิวเมนต์บรรทัดคำสั่ง |
database:remove | ลบข้อมูลทั้งหมดในตำแหน่งที่ระบุในฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ |
ฐานข้อมูล:ชุด | แทนที่ข้อมูลทั้งหมดในตำแหน่งที่ระบุในฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ รับอินพุตจากไฟล์, STDIN หรืออาร์กิวเมนต์บรรทัดคำสั่ง |
ฐานข้อมูล:อัปเดต | ดำเนินการอัปเดตบางส่วนที่ตำแหน่งที่ระบุในฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ รับอินพุตจากไฟล์, STDIN หรืออาร์กิวเมนต์บรรทัดคำสั่ง |
คำสั่งการกำหนดค่าระยะไกล
คำสั่ง | คำอธิบาย |
---|---|
remoteconfig:versions:list \ --จำกัด NUMBER_OF_VERSIONS |
แสดงรายการเทมเพลต 10 เวอร์ชันล่าสุด ระบุ 0 เพื่อแสดงผลเวอร์ชันที่มีอยู่ทั้งหมด หรือส่งตัวเลือก --limit เพื่อจำกัดจำนวนเวอร์ชันที่แสดงผล |
remoteconfig:get \ --v, version_number VERSION_NUMBER --o, เอาต์พุต FILENAME |
รับเทมเพลตตามเวอร์ชัน (ค่าเริ่มต้นคือเวอร์ชันล่าสุด) และเอาต์พุตกลุ่มพารามิเตอร์ พารามิเตอร์ รวมถึงชื่อและเวอร์ชันเงื่อนไขลงในตาราง หรือคุณจะเขียนเอาต์พุตลงในไฟล์ที่ระบุด้วย -o, FILENAME ก็ได้ |
remoteconfig:rollback \ --v, version_number VERSION_NUMBER --force |
ย้อนกลับเทมเพลตการกำหนดค่าระยะไกลเป็นตัวเลขเวอร์ชันก่อนหน้าที่ระบุ
หรือใช้ค่าเริ่มต้นเป็นเวอร์ชันก่อนหน้า (เวอร์ชันปัจจุบัน -1) หากไม่ผ่าน --force ให้แจ้งใช่/ไม่ใช่ก่อนดำเนินการย้อนกลับ |