CLI ในFirebase (GitHub) มอบ มีเครื่องมือที่หลากหลายสำหรับการจัดการ ดู และทำให้ใช้งานได้ในโปรเจ็กต์ Firebase
ก่อนใช้ Firebase CLI ให้ตั้งค่าโปรเจ็กต์ Firebase
ตั้งค่าหรืออัปเดต CLI
ติดตั้ง Firebase CLI
คุณติดตั้ง Firebase CLI โดยใช้วิธีการที่ตรงกับการดำเนินการได้
ระบบ ระดับประสบการณ์ และ/หรือกรณีการใช้งาน ไม่ว่าจะติดตั้ง CLI อย่างไร คุณก็จะมีสิทธิ์เข้าถึงฟังก์ชันการทำงานและคำสั่ง firebase
เดียวกัน
Windows
คุณติดตั้ง Firebase CLI สำหรับ Windows ได้โดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
ตัวเลือก | คำอธิบาย | แนะนำสำหรับ... |
---|---|---|
ไบนารีแบบสแตนด์อโลน | ดาวน์โหลดไบนารีแบบสแตนด์อโลนสำหรับ CLI จากนั้นคุณจะเข้าถึงไฟล์ปฏิบัติการเพื่อเปิดเชลล์ที่ใช้เรียกใช้คำสั่ง firebase ได้
|
นักพัฒนาซอฟต์แวร์ใหม่ นักพัฒนาซอฟต์แวร์ที่ไม่ได้ใช้หรือไม่คุ้นเคยกับNode.js |
npm | ใช้ npm (ตัวจัดการแพ็กเกจโหนด) เพื่อติดตั้ง CLI และเปิดใช้
คำสั่ง firebase ที่ใช้ได้ทั่วโลก
|
นักพัฒนาซอฟต์แวร์ที่ใช้ Node.js |
ไบนารีแบบสแตนด์อโลน
หากต้องการดาวน์โหลดและเรียกใช้ไบนารีสําหรับ Firebase CLI ให้ทําตามขั้นตอนต่อไปนี้
ดาวน์โหลด ไบนารี CLI สำหรับ Firebase Windows
เข้าถึงไบนารีเพื่อเปิดเชลล์ที่คุณสามารถเรียกใช้
firebase
command ได้ดำเนินการต่อเพื่อเข้าสู่ระบบและทดสอบ CLI
npm
วิธีใช้ npm
(ตัวจัดการแพ็กเกจโหนด) เพื่อติดตั้ง
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
ที่พร้อมใช้งานทั่วโลก
ดูตัวอย่างและรายละเอียดเพิ่มเติมเกี่ยวกับสคริปต์การติดตั้งอัตโนมัติได้ที่ซอร์สโค้ดของสคริปต์ที่ firebase.tools
ไบนารีแบบสแตนด์อโลน
หากต้องการดาวน์โหลดและเรียกใช้ไบนารีสำหรับ Firebase CLI ที่เจาะจง สำหรับระบบปฏิบัติการของคุณ ให้ทำตามขั้นตอนต่อไปนี้
ดาวน์โหลด Firebase CLI ของไบนารีสำหรับระบบปฏิบัติการของคุณ macOS | Linux
(ไม่บังคับ) ตั้งค่าคำสั่ง
firebase
ที่ใช้ได้ทั่วโลก- ทำให้ไฟล์สั่งการไบนารีได้โดยเรียกใช้
chmod +x ./firebase_tools
- เพิ่มเส้นทางของไบนารีลงใน PATH
- ทำให้ไฟล์สั่งการไบนารีได้โดยเรียกใช้
npm
ในการใช้ npm
(ตัวจัดการแพ็กเกจโหนด) เพื่อติดตั้ง Firebase CLI
ให้ทำตามขั้นตอนต่อไปนี้
ติดตั้ง Node.js โดยใช้ nvm (เครื่องมือจัดการเวอร์ชันโหนด)
การติดตั้ง Node.js จะติดตั้งโดยอัตโนมัติ เครื่องมือคำสั่งnpm
ติดตั้ง Firebase CLI ผ่าน
npm
โดยเรียกใช้คำสั่งต่อไปนี้npm install -g firebase-tools
คำสั่งนี้จะเปิดใช้คำสั่ง
firebase
ที่พร้อมใช้งานทั่วโลกดำเนินการต่อเพื่อเข้าสู่ระบบและทดสอบ CLI
เข้าสู่ระบบและทดสอบ CLI ของ Firebase
หลังจากติดตั้ง 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
CLI ของ Firebase ต้องใช้เบราว์เซอร์เพื่อดำเนินการตรวจสอบสิทธิ์ให้เสร็จสมบูรณ์ แต่ CLI เข้ากันได้กับ CI และสภาพแวดล้อมแบบไม่มีส่วนหัวอื่นๆ อย่างสมบูรณ์
ในคอมพิวเตอร์ที่มีเบราว์เซอร์ ติดตั้ง Firebase CLI
เริ่มขั้นตอนการลงชื่อเข้าใช้โดยเรียกใช้คำสั่งต่อไปนี้
firebase login:ci
โปรดไปที่ URL ที่ระบุ แล้วเข้าสู่ระบบโดยใช้บัญชี Google
พิมพ์ ใหม่ โทเค็นการรีเฟรช เซสชัน CLI ปัจจุบันจะไม่ได้รับผลกระทบ
จัดเก็บโทเค็นเอาต์พุตด้วยวิธีที่ปลอดภัยแต่เข้าถึงได้ในระบบ CI
ใช้โทเค็นนี้เมื่อเรียกใช้คำสั่ง
firebase
คุณสามารถใช้ ตัวเลือก 2 รายการต่อไปนี้ตัวเลือกที่ 1: จัดเก็บโทเค็นเป็นตัวแปรสภาพแวดล้อม
FIREBASE_TOKEN
ระบบจะใช้โทเค็นโดยอัตโนมัติตัวเลือกที่ 2: เรียกใช้คําสั่ง
firebase
ทั้งหมดที่มี Flag--token TOKEN
ในระบบ CI
ลําดับลําดับความสําคัญของการโหลดโทเค็นคือ Flag, ตัวแปรสภาพแวดล้อม และโปรเจ็กต์ Firebase ที่ต้องการ
เริ่มต้นโปรเจ็กต์ Firebase
งานทั่วไปหลายอย่างที่ทำโดยใช้ CLI เช่น การทำให้ใช้งานได้ใน Firebase
ต้องมีไดเรกทอรีโปรเจ็กต์ คุณสร้างไดเรกทอรีโปรเจ็กต์
โดยใช้คำสั่ง firebase init
โดยปกติแล้วไดเรกทอรีโปรเจ็กต์จะเหมือนกัน
เป็นรากควบคุมแหล่งที่มา และหลังจากเรียกใช้ firebase init
ค่า
ไดเรกทอรีมีการกำหนดค่า firebase.json
หากต้องการเริ่มต้นโปรเจ็กต์ Firebase ใหม่ ให้เรียกใช้คำสั่งต่อไปนี้จากภายใน ไดเรกทอรีของแอป
firebase init
คำสั่ง firebase init
จะนำคุณผ่านการตั้งค่าไดเรกทอรีโปรเจ็กต์และผลิตภัณฑ์ Firebase บางรายการ ในระหว่างการเริ่มต้นโปรเจ็กต์ Firebase CLI จะขอให้คุณทํางานต่อไปนี้
เลือกผลิตภัณฑ์ Firebase ที่ต้องการตั้งค่าในโปรเจ็กต์ Firebase
ขั้นตอนนี้จะแจ้งให้คุณกำหนดค่าสำหรับไฟล์ที่เฉพาะเจาะจงสำหรับผลิตภัณฑ์ที่เลือก ดูรายละเอียดเพิ่มเติมเกี่ยวกับการกําหนดค่าเหล่านี้ได้ในเอกสารประกอบของผลิตภัณฑ์ที่เฉพาะเจาะจง (เช่น Hosting) โปรดทราบว่าคุณสามารถเรียกใช้
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 Hosting ได้
ในไฟล์ firebase.json
โดยตรง อย่างไรก็ตาม สำหรับ
บริการ Firebase ที่ทำให้ใช้งานได้ด้วย Firebase CLI
คำสั่ง firebase init
จะสร้างไฟล์เฉพาะที่คุณสามารถกำหนดการตั้งค่าได้
สำหรับบริการเหล่านั้น เช่น ไฟล์ index.js
สำหรับ Cloud Functions คุณสามารถ
ตั้งค่า Hooks ล่วงหน้าหรือหลังจากทำให้ใช้งานได้ในไฟล์ firebase.json
ด้วย
ต่อไปนี้คือตัวอย่างไฟล์ firebase.json
ที่มีการตั้งค่าเริ่มต้นหากคุณเลือก Firebase Hosting, Cloud Firestore และ Cloud Functions for Firebase (โดยเลือกตัวเลือกแหล่งที่มาและตัวเลือกการตรวจสอบ TypeScript) ในระหว่างการเริ่มต้น
{
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
},
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"functions": {
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint",
"npm --prefix \"$RESOURCE_DIR\" run build"
]
}
}
แม้ว่าระบบจะใช้ firebase.json
โดยค่าเริ่มต้น คุณก็ส่ง
แฟล็ก --config PATH
เพื่อระบุทางเลือก
ใหม่
การกําหนดค่าสําหรับฐานข้อมูล Cloud Firestore หลายรายการ
เมื่อคุณเรียกใช้ firebase init
ไฟล์ firebase.json
ของคุณจะมีไฟล์เดียว
คีย์ firestore
ที่สอดคล้องกับฐานข้อมูลเริ่มต้นของโปรเจ็กต์ตามที่แสดง
ที่ด้านบน
หากโปรเจ็กต์มีฐานข้อมูล Cloud Firestore หลายแห่ง ให้แก้ไขไฟล์ firebase.json
เพื่อเชื่อมโยง Cloud Firestore Security Rules ต่างๆ และไฟล์แหล่งที่มาของดัชนีฐานข้อมูลกับแต่ละฐานข้อมูล แก้ไขไฟล์ด้วยอาร์เรย์ JSON โดยให้มีรายการ 1 รายการสําหรับฐานข้อมูลแต่ละรายการ
"firestore": [
{
"database": "(default)",
"rules": "firestore.default.rules",
"indexes": "firestore.default.indexes.json"
},
{
"database": "ecommerce",
"rules": "firestore.ecommerce.rules",
"indexes": "firestore.ecommerce.indexes.json"
}
],
ไฟล์ Cloud Functions ที่จะละเว้นเมื่อทําให้ใช้งานได้
ขณะทำให้ฟังก์ชันใช้งานได้ CLI จะระบุโดยอัตโนมัติ
รายการไฟล์ในไดเรกทอรี functions
ที่จะละเว้น ช่วงเวลานี้
ป้องกันไม่ให้ทำให้ใช้งานได้กับไฟล์ส่วนเกินของแบ็กเอนด์ซึ่งอาจ
จะเพิ่มขนาดข้อมูลการติดตั้งใช้งาน
รายการไฟล์ที่ละเว้นโดยค่าเริ่มต้นซึ่งแสดงในรูปแบบ JSON มีดังนี้
"ignore": [
".git",
".runtimeconfig.json",
"firebase-debug.log",
"firebase-debug.*.log",
"node_modules"
]
หากคุณเพิ่มค่าที่กำหนดเองสำหรับ ignore
ใน firebase.json
โปรดตรวจสอบว่าคุณเก็บ (หรือเพิ่มหากไม่มี) รายการไฟล์ที่แสดงด้านบน
จัดการชื่อแทนของโปรเจ็กต์
คุณเชื่อมโยงโปรเจ็กต์ Firebase หลายโปรเจ็กต์กับไดเรกทอรีโปรเจ็กต์เดียวกันได้
เช่น คุณอาจต้องการใช้โปรเจ็กต์ Firebase 1 โปรเจ็กต์สำหรับการทดลองใช้และอีกโปรเจ็กต์หนึ่ง
สำหรับเวอร์ชันที่ใช้งานจริง เมื่อใช้สภาพแวดล้อมโปรเจ็กต์ที่แตกต่างกัน คุณจะยืนยันการเปลี่ยนแปลงได้
ก่อนทำให้ใช้งานได้จริง คำสั่ง firebase use
ช่วยให้คุณสลับระหว่างอีเมลแทน รวมถึงสร้างอีเมลแทนใหม่ได้
เพิ่มชื่อแทนโปรเจ็กต์
เมื่อคุณเลือกโปรเจ็กต์ Firebase ระหว่างโปรเจ็กต์
การเริ่มต้น โปรเจ็กต์จะสร้างขึ้นโดยอัตโนมัติ
กำหนดชื่อแทนของ default
แล้ว แต่หากต้องการอนุญาตคำสั่งเฉพาะโปรเจ็กต์
ทำงานกับโปรเจ็กต์ Firebase อื่น แต่ยังคงใช้โปรเจ็กต์เดียวกัน
ให้เรียกใช้คำสั่งต่อไปนี้จากในไดเรกทอรีโปรเจ็กต์
firebase use --add
คำสั่งนี้จะแจ้งให้คุณเลือกโปรเจ็กต์ Firebase อื่นและกำหนดโปรเจ็กต์นั้นเป็นอีเมลแทน ระบบจะเขียนการมอบหมายอีเมลแทนลงในไฟล์ .firebaserc
ภายในไดเรกทอรีโปรเจ็กต์
ใช้ชื่อแทนโปรเจ็กต์
หากต้องการใช้ชื่อแทนโปรเจ็กต์ Firebase ที่มอบหมาย ให้เรียกใช้คำสั่งต่อไปนี้จาก ภายในไดเรกทอรีโปรเจ็กต์ของคุณ
คำสั่ง | คำอธิบาย |
---|---|
firebase use |
ดูรายการชื่อแทนที่กำหนดไว้ในปัจจุบันสำหรับไดเรกทอรีโปรเจ็กต์ของคุณ |
firebase use \ |
กำหนดให้คำสั่งทั้งหมดทำงานกับโปรเจ็กต์ Firebase ที่ระบุ
CLI ใช้โปรเจ็กต์นี้เป็น "โปรเจ็กต์ที่ใช้งานอยู่" ในปัจจุบัน |
firebase use --clear |
ล้างโปรเจ็กต์ที่ใช้งานอยู่
เรียกใช้ |
firebase use \ |
นำอีเมลแทนออกจากไดเรกทอรีโปรเจ็กต์ |
คุณสามารถลบล้างโปรเจ็กต์ที่ใช้อยู่ในปัจจุบันได้โดยส่งผ่าน Flag --project
กับคําสั่ง CLI ตัวอย่างเช่น คุณสามารถตั้งค่า CLI ให้ทํางานกับโปรเจ็กต์ Firebase ที่คุณกําหนดstaging
แทน ถ้าต้องการเรียกใช้คำสั่งเดียวกับโปรเจ็กต์ Firebase ที่
คุณได้กำหนดชื่อแทน prod
แล้ว คุณจะสามารถเรียกใช้ได้ ตัวอย่างเช่น
การควบคุมแหล่งที่มาและชื่อแทนของโปรเจ็กต์
โดยทั่วไป คุณควรตรวจสอบไฟล์ .firebaserc
ในระบบควบคุมแหล่งที่มาเพื่ออนุญาตให้ทีมแชร์อีเมลแทนของโปรเจ็กต์ อย่างไรก็ตาม สำหรับโปรเจ็กต์โอเพนซอร์สหรือเทมเพลตเริ่มต้น โดยทั่วไปคุณไม่ควรเช็คอินไฟล์ .firebaserc
หากมีโปรเจ็กต์การพัฒนาสําหรับใช้เองเท่านั้น คุณสามารถส่งผ่าน Flag --project
กับแต่ละคําสั่ง หรือเรียกใช้ firebase use PROJECT_ID
โดยไม่ต้องกําหนดชื่อแทนให้กับโปรเจ็กต์ Firebase
แสดงและทดสอบโปรเจ็กต์ Firebase ในพื้นที่
คุณดูและทดสอบโปรเจ็กต์ Firebase บน URL ที่โฮสต์ในเครื่องได้ก่อนวันที่
ใช้งานได้จริง หากต้องการทดสอบเฉพาะฟีเจอร์บางอย่าง คุณสามารถใช้
รายการที่คั่นด้วยคอมมาในแฟล็กของคำสั่ง firebase serve
เรียกใช้คำสั่งต่อไปนี้จากรูทของไดเรกทอรีโปรเจ็กต์ในเครื่องหากต้องการทำอย่างใดอย่างหนึ่งต่อไปนี้
- ดูเนื้อหาคงที่ของแอปที่โฮสต์โดย Firebase
- ใช้ Cloud Functions เพื่อสร้างเนื้อหาแบบไดนามิกสำหรับ Firebase Hosting และคุณต้องการใช้ การผลิต (ทำให้ใช้งานได้) ฟังก์ชัน HTTP เพื่อจำลอง Hosting บน URL ในเครื่อง
firebase serve --only hosting
จําลองโปรเจ็กต์โดยใช้ฟังก์ชัน HTTP ในเครื่อง
เรียกใช้คําสั่งใดก็ได้ต่อไปนี้จากไดเรกทอรีโปรเจ็กต์เพื่อจําลองโปรเจ็กต์โดยใช้ฟังก์ชัน HTTP ในเครื่อง
หากต้องการจำลองฟังก์ชัน HTTP และการโฮสต์สำหรับการทดสอบใน URL ภายใน ให้ใช้ คำสั่งต่อไปนี้
firebase serve
firebase serve --only functions,hosting // uses a flag
หากต้องการจําลองฟังก์ชัน HTTP เท่านั้น ให้ใช้คําสั่งต่อไปนี้
firebase serve --only functions
ทดสอบจากอุปกรณ์อื่นในเครือข่ายเดียวกัน
โดยค่าเริ่มต้น firebase serve
จะตอบกลับเฉพาะคำขอจาก localhost
ช่วงเวลานี้
หมายความว่าคุณจะสามารถเข้าถึงเนื้อหาที่โฮสต์ไว้จากเว็บของคอมพิวเตอร์ของคุณได้
เบราว์เซอร์แต่ไม่ได้มาจากอุปกรณ์อื่นๆ ในเครือข่ายของคุณ หากคุณต้องการทดสอบจาก
ในอุปกรณ์อื่นๆ ให้ใช้แฟล็ก --host
ดังนี้
firebase serve --host 0.0.0.0 // accepts requests to any host
ทำให้ใช้งานได้กับโปรเจ็กต์ Firebase
Firebase CLI จะจัดการการทําให้โค้ดและชิ้นงานใช้งานได้ในโปรเจ็กต์ Firebase ซึ่งรวมถึงการดำเนินการต่อไปนี้
- เว็บไซต์ Firebase Hosting เวอร์ชันใหม่
- Cloud Functions for Firebase ใหม่ อัปเดต หรือที่มีอยู่
- สคีมาและเครื่องมือเชื่อมต่อใหม่หรือที่อัปเดตสำหรับ Firebase Data Connect
- กฎสำหรับ Firebase Realtime Database
- กฎสำหรับ Cloud Storage for Firebase
- กฎสำหรับ Cloud Firestore
- ดัชนีสำหรับ Cloud Firestore
หากต้องการทำให้โปรเจ็กต์ Firebase ใช้งานได้ ให้เรียกใช้คำสั่งต่อไปนี้จากโปรเจ็กต์ของคุณ ไดเรกทอรี:
firebase deploy
โดยคุณจะเพิ่มความคิดเห็นในการทำให้ใช้งานได้แต่ละรายการก็ได้ ความคิดเห็นนี้จะ พร้อมกับข้อมูลการติดตั้งใช้งานอื่นๆ ในโปรเจ็กต์ Firebase Hosting เช่น
firebase deploy -m "Deploying the best new feature ever."
โปรดคำนึงถึงสิ่งต่อไปนี้เมื่อใช้คำสั่ง firebase deploy
หากต้องการทําให้ทรัพยากรใช้งานได้จากไดเรกทอรีโปรเจ็กต์ ไดเรกทอรีโปรเจ็กต์ต้องมีไฟล์
firebase.json
ไฟล์นี้ ที่สร้างขึ้นโดยอัตโนมัติสำหรับคุณโดยfirebase init
โดยค่าเริ่มต้น
firebase deploy
จะสร้างรุ่นสำหรับทรัพยากรที่ทำให้ใช้งานได้ทั้งหมด ในไดเรกทอรีโปรเจ็กต์ หากต้องการทำให้บริการหรือฟีเจอร์ Firebase ที่เฉพาะเจาะจงใช้งานได้ ใช้การทำให้ใช้งานได้บางส่วน
ความขัดแย้งของการทำให้ใช้งานได้สำหรับกฎความปลอดภัย
สำหรับ Firebase Realtime Database, Cloud Storage for Firebase และ Cloud Firestore คุณกำหนดกฎความปลอดภัยได้ในไดเรกทอรีโปรเจ็กต์ในเครื่องหรือในคอนโซล Firebase
อีกทางเลือกหนึ่งในการป้องกันความขัดแย้งของการทำให้ใช้งานได้คือ ใช้การทำให้ใช้งานได้บางส่วน และกำหนดกฎใน คอนโซล Firebase
โควต้าการทำให้ใช้งานได้
เป็นไปได้ (แต่ไม่น่าจะเกิดขึ้น) ที่คุณอาจใช้โควต้าที่จำกัดอัตราการดำเนินการหรือปริมาณของการดำเนินการทำให้ใช้งานได้ของ Firebase เกินโควต้า ตัวอย่างเช่น เมื่อ
การทำให้ฟังก์ชันจำนวนมากใช้งานได้จำนวนมาก คุณอาจได้รับ HTTP 429 Quota
ข้อความแสดงข้อผิดพลาด หากต้องการแก้ไขปัญหาดังกล่าว ให้ลองใช้การทําให้ใช้งานได้บางส่วน
ย้อนกลับการทำให้ใช้งานได้
คุณสามารถย้อนกลับการทำให้ใช้งานได้ของ Firebase Hosting จาก Firebase Hosting โดยเลือก การดำเนินการย้อนกลับสำหรับรุ่นที่ต้องการ
ขณะนี้ยังย้อนกลับรุ่นของกฎความปลอดภัยสำหรับ Firebase Realtime Database, Cloud Storage for Firebase หรือ Cloud Firestore
ทำให้บริการ Firebase บางอย่างใช้งานได้
หากต้องการทำให้บริการหรือฟีเจอร์ Firebase บางรายการใช้งานได้ ให้ใช้
รายการที่คั่นด้วยคอมมาในแฟล็กของคำสั่ง firebase deploy
ตัวอย่างเช่น
คำสั่งต่อไปนี้ทำให้เนื้อหา Firebase Hosting ใช้งานได้และ
กฎความปลอดภัย Cloud Storage ข้อ
firebase deploy --only hosting,storage
ตารางต่อไปนี้แสดงบริการและฟีเจอร์ที่พร้อมใช้งานสำหรับการทําให้ใช้งานได้บางส่วน ชื่อใน Flag จะสอดคล้องกับคีย์ในไฟล์การกําหนดค่า firebase.json
ไวยากรณ์ของ Flag | บริการหรือฟีเจอร์ที่ทําให้ใช้งานได้ |
---|---|
--only hosting |
เนื้อหาภาษาFirebase Hosting |
--only database |
กฎ Firebase Realtime Database รายการ |
--only dataconnect |
สคีมาและเครื่องมือเชื่อมต่อ Firebase Data Connect รายการ |
--only storage |
กฎ Cloud Storage for Firebase รายการ |
--only firestore |
กฎ Cloud Firestore ข้อและจะจัดทำดัชนีสำหรับฐานข้อมูลที่กำหนดค่าทั้งหมด |
--only functions |
Cloud Functions for Firebase (ใช้ธงนี้ในเวอร์ชันที่เฉพาะเจาะจงมากขึ้นได้) |
ทำให้ฟังก์ชันที่เฉพาะเจาะจงใช้งานได้
เมื่อทำให้ฟังก์ชันใช้งานได้ คุณสามารถกำหนดเป้าหมายฟังก์ชันเฉพาะได้ เช่น
firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2
อีกทางเลือกหนึ่งคือการรวมฟังก์ชันเป็นกลุ่มการส่งออกในไฟล์ /functions/index.js
ฟังก์ชันการจัดกลุ่มช่วยให้คุณทำให้
โดยใช้คำสั่งเดียว
ตัวอย่างเช่น คุณสามารถเขียนฟังก์ชันต่อไปนี้เพื่อกำหนด groupA
และ groupB
var functions = require('firebase-functions/v1');
exports.groupA = {
function1: functions.https.onRequest(...),
function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');
ในตัวอย่างนี้ ไฟล์ functions/groupB.js
แยกต่างหากจะมีฟังก์ชันเพิ่มเติมที่กําหนดฟังก์ชันใน groupB
โดยเฉพาะ เช่น
var functions = require('firebase-functions/v1');
exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);
ในตัวอย่างนี้ คุณสามารถทำให้ฟังก์ชัน groupA
ทั้งหมดใช้งานได้โดยเรียกใช้คำสั่งต่อไปนี้จากไดเรกทอรีโปรเจ็กต์
firebase deploy --only functions:groupA
หรือจะกําหนดเป้าหมายฟังก์ชันที่เฉพาะเจาะจงภายในกลุ่มโดยเรียกใช้คําสั่งต่อไปนี้ก็ได้
firebase deploy --only functions:groupA.function1,groupB.function4
ลบฟังก์ชัน
Firebase CLI รองรับคําสั่งและตัวเลือกต่อไปนี้สําหรับการลบฟังก์ชันที่ติดตั้งใช้งานไปก่อนหน้านี้
ลบฟังก์ชันทั้งหมดที่ตรงกับชื่อที่ระบุในทุกภูมิภาค:
firebase functions:delete FUNCTION-1_NAME
ลบฟังก์ชันที่ระบุซึ่งทำงานในภูมิภาคที่ไม่ใช่ค่าเริ่มต้น
firebase functions:delete FUNCTION-1_NAME --region REGION_NAME
ลบฟังก์ชันมากกว่า 1 รายการ:
firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME
ลบกลุ่มฟังก์ชันที่ระบุ
firebase functions:delete GROUP_NAME
ข้ามข้อความแจ้งการยืนยัน:
firebase functions:delete FUNCTION-1_NAME --force
ตั้งค่างานที่ใช้สคริปต์ก่อนและหลังการทําให้ใช้งานได้
คุณสามารถเชื่อมต่อสคริปต์ Shell กับคำสั่ง firebase deploy
เพื่อดำเนินการ
งานล่วงหน้าหรือหลังการปรับใช้ ตัวอย่างเช่น สคริปต์การติดตั้งใช้งานล่วงหน้า
แปลงโค้ด TypeScript เป็น JavaScript และ Hook ที่หลังจากติดตั้งใช้งานสามารถแจ้งเตือนได้
ผู้ดูแลเนื้อหาเว็บไซต์ใหม่จะทำให้ใช้งานได้กับ Firebase Hosting
หากต้องการตั้งค่า Hooks ที่นำส่งล่วงหน้าหรือหลังจากติดตั้งใช้งาน ให้เพิ่มสคริปต์ 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
คุณสามารถตั้งค่าฮุก predeploy
และ postdeploy
สำหรับ
ชิ้นงานที่นำไปใช้ได้ โปรดทราบว่าการเรียกใช้ firebase deploy
จะทริกเกอร์งานก่อนและหลังการทําให้ใช้งานได้ทั้งหมดที่กําหนดไว้ในไฟล์ firebase.json
หากต้องการเรียกใช้เฉพาะงานที่เชื่อมโยงกับบริการ Firebase ที่เฉพาะเจาะจง ให้ใช้คำสั่งการทําให้ใช้งานได้บางส่วน
ทั้งฮุก predeploy
และ postdeploy
จะพิมพ์เอาต์พุตมาตรฐานและกระแสข้อผิดพลาดของสคริปต์ไปยังเทอร์มินัล สำหรับกรณีที่ส่งไม่สำเร็จ โปรดสังเกตข้อมูลต่อไปนี้
- หากฮุกก่อนการทำให้ใช้งานได้ดำเนินการไม่สำเร็จตามที่คาดไว้ ระบบจะยกเลิกการทำให้ใช้งานได้
- หากการทําให้ใช้งานได้ไม่สําเร็จไม่ว่าด้วยเหตุผลใดก็ตาม ระบบจะไม่ทริกเกอร์ฮุกหลังการทําให้ใช้งานได้
ตัวแปรสภาพแวดล้อม
ภายในสคริปต์ที่ทำงานในฮุกก่อนการทำให้ใช้งานได้และหลังการทำให้ใช้งานได้ จะมีตัวแปรสภาพแวดล้อมต่อไปนี้
$GCLOUD_PROJECT
: รหัสโปรเจ็กต์ที่ใช้งานอยู่$PROJECT_DIR
: ไดเรกทอรีรากที่มีไฟล์firebase.json
$RESOURCE_DIR
: (สำหรับสคริปต์hosting
และfunctions
เท่านั้น) ตำแหน่งของไดเรกทอรีที่มี Hosting หรือ ทรัพยากร Cloud Functions รายการที่จะทำให้ใช้งานได้
จัดการอินสแตนซ์ Realtime Database หลายรายการ
โปรเจ็กต์ Firebase อาจมีอินสแตนซ์ Firebase Realtime Database หลายรายการ โดยค่าเริ่มต้น คำสั่ง CLI จะโต้ตอบกับอินสแตนซ์ฐานข้อมูลเริ่มต้น
แต่คุณสามารถโต้ตอบกับอินสแตนซ์ฐานข้อมูลที่ไม่ใช่ค่าเริ่มต้นได้โดยใช้
แฟล็ก --instance DATABASE_NAME
--instance
firebase database:get
firebase database:profile
firebase database:push
firebase database:remove
firebase database:set
firebase database:update
ข้อมูลอ้างอิงเกี่ยวกับคำสั่ง
คำสั่งการดูแลระบบ CLI
คำสั่ง | คำอธิบาย |
---|---|
help | แสดงข้อมูลความช่วยเหลือเกี่ยวกับ CLI หรือคําสั่งที่เฉพาะเจาะจง |
เริ่มต้น | เชื่อมโยงและสร้างโปรเจ็กต์ Firebase ใหม่ในไดเรกทอรีปัจจุบัน
คำสั่งนี้จะสร้าง
firebase.json
ในไดเรกทอรีปัจจุบัน |
login | ตรวจสอบสิทธิ์ CLI กับบัญชี Firebase ต้องมีสิทธิ์เข้าถึง
เว็บเบราว์เซอร์ หากต้องการเข้าสู่ระบบ CLI ในสภาพแวดล้อมระยะไกลที่ไม่อนุญาตให้เข้าถึง localhost ให้ใช้ Flag --no-localhost |
login:ci | สร้างโทเค็นการตรวจสอบสิทธิ์สำหรับใช้ในแบบไม่โต้ตอบ สภาพแวดล้อมการใช้งาน |
logout | ออกจากระบบ CLI จากบัญชี Firebase |
open | เปิดเบราว์เซอร์ไปยังแหล่งข้อมูลโปรเจ็กต์ที่เกี่ยวข้อง |
โปรเจ็กต์:รายการ | แสดงรายการโปรเจ็กต์ Firebase ทั้งหมดที่คุณมีสิทธิ์เข้าถึง |
การใช้งาน | ตั้งค่าโปรเจ็กต์ Firebase ที่ใช้งานอยู่สําหรับ CLI จัดการอีเมลแทนของโปรเจ็กต์ |
คำสั่งการจัดการโปรเจ็กต์
คำสั่ง | คำอธิบาย | |
---|---|---|
การจัดการโปรเจ็กต์ Firebase | ||
projects:addfirebase | เพิ่มทรัพยากร Firebase ไปยังโปรเจ็กต์ Google Cloud ที่มีอยู่ | |
projects:create | สร้างโปรเจ็กต์ Google Cloud ใหม่ จากนั้นเพิ่มทรัพยากร Firebase ลงในโปรเจ็กต์ใหม่ | |
โปรเจ็กต์:รายการ | แสดงรายการโปรเจ็กต์ Firebase ทั้งหมดที่คุณมีสิทธิ์เข้าถึง | |
การจัดการแอป Firebase (iOS, Android, เว็บ) | ||
apps:create | สร้างแอป Firebase ใหม่ในโปรเจ็กต์ที่ใช้งานอยู่ | |
apps:list | แสดงรายการแอป Firebase ที่ลงทะเบียนในโปรเจ็กต์ที่ใช้งานอยู่ | |
แอป:sdkconfig | พิมพ์การกำหนดค่าบริการของ Google ของแอป Firebase | |
setup:web | เลิกใช้งานแล้ว ให้ใช้ apps:sdkconfig และระบุ web เป็นอาร์กิวเมนต์แพลตฟอร์มแทนแสดงการกำหนดค่าบริการของ Google สำหรับเว็บแอป Firebase |
|
การจัดการแฮชใบรับรอง SHA (Android เท่านั้น) | ||
apps:android:sha:create \ SHA_HASH FIREBASE_APP_ID |
เพิ่มแฮชใบรับรอง SHA ที่ระบุลงในแอป Firebase Android ที่ระบุ | |
apps:android:sha:ลบ \ SHA_HASH FIREBASE_APP_ID |
ลบแฮชใบรับรอง SHA ที่ระบุออกจากแอป Firebase Android ที่ระบุ | |
apps:android:sha:list \ FIREBASE_APP_ID |
แสดงแฮชใบรับรอง SHA สําหรับแอป Firebase Android ที่ระบุ |
การติดตั้งใช้งานและการพัฒนาในเครื่อง
คำสั่งเหล่านี้ช่วยให้คุณใช้งานและโต้ตอบกับเว็บไซต์ Firebase Hosting ได้
คำสั่ง | คำอธิบาย |
---|---|
ติดตั้งใช้งาน | ติดตั้งใช้งานโค้ดและชิ้นงานจากไดเรกทอรีโปรเจ็กต์ไปยังโปรเจ็กต์ที่ใช้งานอยู่ สําหรับ Firebase Hosting คุณต้องใช้ไฟล์การกําหนดค่า firebase.json
|
serve | เริ่มเว็บเซิร์ฟเวอร์ในเครื่องด้วยการกำหนดค่า Firebase Hosting
สำหรับ Firebase Hosting ประเภท
firebase.json
ต้องระบุไฟล์การกำหนดค่า |
คำสั่ง App Distribution รายการ
คำสั่ง | คำอธิบาย |
---|---|
appdistribution:distribution \ --app FIREBASE_APP_ID |
ทำให้บิลด์พร้อมใช้งานสำหรับผู้ทดสอบ |
appdistribution:testers:add | เพิ่มผู้ทดสอบไปยังโปรเจ็กต์ |
appdistribution:testers:remove | นำผู้ทดสอบออกจากโปรเจ็กต์ |
คำสั่ง App Hosting
คำสั่ง | คำอธิบาย |
---|---|
apphosting:backends:create \ --โครงการ PROJECT_ID \ --ตำแหน่ง REGION --แอป APP_ID |
สร้างคอลเล็กชันทรัพยากรที่มีการจัดการซึ่งลิงก์กับโค้ดเบสเดียวที่ประกอบด้วยแบ็กเอนด์ App Hosting (ไม่บังคับ) ระบุ เว็บแอป Firebase ตามรหัสแอป Firebase |
apphosting:backends:get \ BACKEND_ID \ --โครงการ PROJECT_ID \ --ตำแหน่ง REGION |
เรียกข้อมูลรายละเอียดที่เจาะจง ซึ่งรวมถึง URL สาธารณะของแบ็กเอนด์ |
apphosting:backends:list \ --โครงการ PROJECT_ID |
เรียกข้อมูลรายการแบ็กเอนด์ที่ใช้งานอยู่ทั้งหมดที่เชื่อมโยงกับโปรเจ็กต์ |
firebase apphosting:backends:delete \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
ลบแบ็กเอนด์ออกจากโปรเจ็กต์ |
firebase apphosting:rollouts:create \ BACKEND_ID \ --git_branch BRANCH_NAME \ --git_commit COMMIT_ID |
สร้างการเปิดตัวที่ทริกเกอร์ด้วยตนเอง (ไม่บังคับ) ระบุคอมมิตล่าสุดไปยังสาขาหรือคอมมิตที่เฉพาะเจาะจง ถ้า ไม่มีตัวเลือก ข้อความแจ้งให้เลือกจากรายการสาขา |
apphosting:secrets:set
KEY
--project PROJECT_ID \ --location REGION \ --data-file DATA_FILE_PATH |
จัดเก็บเนื้อหาลับใน Secret Manager ระบุเส้นทางไฟล์ที่จะอ่านข้อมูลลับ (ไม่บังคับ) กำหนดเป็น _ เพื่ออ่านข้อมูลลับจากอินพุตมาตรฐาน
|
apphosting:secrets:grantaccess
KEY
BACKEND_ID \ --project PROJECT_ID \ --location REGION |
ให้สิทธิ์ แบ็กเอนด์ บัญชีบริการ เข้าถึงข้อมูลลับที่ให้ไว้เพื่อให้สามารถเข้าถึงโดย App Hosting ขณะสร้างหรือรันไทม์ |
apphosting:secrets:describe
KEY \ --โปรเจ็กต์ PROJECT_ID |
รับข้อมูลเมตาสำหรับข้อมูลลับและเวอร์ชันของข้อมูลลับ |
firebase apphosting:secrets:access \ KEY[@version] \ --โปรเจ็กต์ 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 คำสั่งนี้ใช้ Flag ต่อไปนี้
|
firestore:databases:list |
แสดงรายการฐานข้อมูลในโปรเจ็กต์ Firebase |
firestore:databases:get DATABASE_ID |
รับการกำหนดค่าฐานข้อมูลสำหรับฐานข้อมูลที่ระบุใน โปรเจ็กต์ Firebase |
firestore:databases:update DATABASE_ID |
อัปเดตการกําหนดค่าฐานข้อมูลของฐานข้อมูลที่ระบุในโปรเจ็กต์ Firebase ต้องได้รับแฟล็กอย่างน้อย 1 รายการ คำสั่งจะใช้แฟล็กต่อไปนี้
|
firestore:databases:delete DATABASE_ID |
ลบฐานข้อมูลในโปรเจ็กต์ Firebase |
firestore:indexes |
แสดงรายการดัชนีสำหรับฐานข้อมูลในโปรเจ็กต์ Firebase คำสั่งดังกล่าวใช้แฟล็กต่อไปนี้
|
firestore:delete |
ลบเอกสารในฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ เมื่อใช้ CLI คุณจะสามารถลบเอกสารทั้งหมดในคอลเล็กชันแบบซ้ำได้ โปรดทราบว่าการลบข้อมูล Cloud Firestore ด้วย CLI จะมีค่าใช้จ่ายในการอ่านและการลบ สำหรับข้อมูลเพิ่มเติม โปรดดู ทำความเข้าใจการเรียกเก็บเงินของ Cloud Firestore คำสั่งดังกล่าวใช้แฟล็กต่อไปนี้
|
คำสั่ง Cloud Functions for Firebase
คำสั่ง | คำอธิบาย |
---|---|
functions:config:clone | โคลนสภาพแวดล้อมของโปรเจ็กต์อื่นลงใน Firebase ที่ใช้งานอยู่ |
functions:config:get | ดึงข้อมูลการกำหนดค่าที่มีอยู่ของโปรเจ็กต์ที่ใช้งานอยู่ Cloud Functions |
functions:config:set | จัดเก็บค่าการกำหนดค่ารันไทม์ของโปรเจ็กต์ที่ใช้งานอยู่ Cloud Functions |
functions:config:unset | นำค่าออกจากการกำหนดค่ารันไทม์ของโปรเจ็กต์ที่ใช้งานอยู่ |
functions:log | อ่านบันทึกจาก Cloud Functions ที่ติดตั้งใช้งาน |
ดูข้อมูลเพิ่มเติมได้ที่สภาพแวดล้อม เอกสารการกำหนดค่า
คำสั่ง Crashlytics รายการ
คำสั่ง | คำอธิบาย |
---|---|
crashlytics:mappingfile:generateid \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML |
สร้างรหัสไฟล์การแมปที่ไม่ซ้ำกันในทรัพยากร Android ที่ระบุ (XML) |
crashlytics:mappingfile:upload \ --app=FIREBASE_APP_ID \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML \ PATH/TO/MAPPING_FILE.TXT |
อัปโหลดไฟล์การแมป (TXT) ที่เข้ากันได้กับ Proguard สําหรับแอปนี้ และเชื่อมโยงกับรหัสไฟล์การแมปที่ประกาศไว้ในไฟล์ทรัพยากร Android (XML) ที่ระบุ |
crashlytics:symbols:upload \ --app=FIREBASE_APP_ID \ PATH/TO/SYMBOLS |
สร้างไฟล์สัญลักษณ์ที่เข้ากันได้กับ Crashlytics สำหรับไลบรารีเนทีฟ ขัดข้องบน Android และอัปโหลดไปยังเซิร์ฟเวอร์ Firebase |
คำสั่ง Data Connect
คำสั่งเหล่านี้และกรณีการใช้งานมีรายละเอียดอยู่ในData Connectคู่มืออ้างอิง CLI
คำสั่ง | คำอธิบาย |
---|---|
dataconnect:services:list | แสดงรายการบริการ Data Connect ที่ติดตั้งใช้งานทั้งหมดในโปรเจ็กต์ Firebase |
dataconnect:sql:diff \ SERVICE_ID |
สำหรับบริการที่ระบุ จะแสดงความแตกต่างระหว่างสคีมาData Connectในเครื่องกับสคีมาฐานข้อมูล Cloud SQL |
dataconnect:sql:Migration \ --force \ SERVICE_ID |
ย้ายข้อมูลสคีมาของฐานข้อมูล Cloud SQL ให้ตรงกับสคีมาData Connectในเครื่อง |
dataconnect:sql:grant\ --role=ROLE \ --email=EMAIL \ SERVICE_ID |
มอบบทบาท SQL ให้กับอีเมลของผู้ใช้หรือบัญชีบริการที่ระบุ
สำหรับแฟล็ก --role บทบาท SQL ที่จะมอบให้คือบทบาทใดบทบาทหนึ่งต่อไปนี้
owner , writer หรือ reader
สำหรับแฟล็ก --email โปรดระบุอีเมลของ
ผู้ใช้หรือบัญชีบริการที่จะมอบหมายบทบาทให้
|
dataconnect:sdk:generate | สร้าง SDK ที่มีประเภทสําหรับเครื่องมือเชื่อมต่อ Data Connect |
Extensions คำสั่ง
คำสั่ง | คำอธิบาย |
---|---|
ต่อ | แสดงข้อมูลเกี่ยวกับวิธีใช้คำสั่ง 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 ของส่วนขยาย |
คำสั่งของผู้เผยแพร่โฆษณา 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 ที่ใช้งานอยู่ URL Hosting ของโปรเจ็กต์จะแสดงข้อความ "ไม่พบเว็บไซต์" ข้อความ หลังจากเรียกใช้คำสั่งนี้ |
การจัดการเว็บไซต์ Hosting แห่ง | |
firebase Hosting:sites:create \ SITE_ID |
สร้างเว็บไซต์ Hosting ใหม่ในโปรเจ็กต์ Firebase ที่ใช้งานอยู่โดยใช้ (ไม่บังคับ) ระบุเว็บแอป Firebase ที่มีอยู่เพื่อเชื่อมโยงกับเว็บไซต์ใหม่โดยส่ง Flag ต่อไปนี้
|
firebase Hosting:sites:delete \ SITE_ID |
ลบเว็บไซต์ Hosting ที่ระบุ CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนที่จะลบเว็บไซต์ (ไม่บังคับ) ข้ามข้อความยืนยันโดยส่ง Flag ต่อไปนี้ |
firebase Hosting:sites:get \ SITE_ID |
ดึงข้อมูลเกี่ยวกับเว็บไซต์ Hosting ที่ระบุ |
firebase hosting:sites:list |
แสดงรายการเว็บไซต์ Hosting ทั้งหมดของโปรเจ็กต์ Firebase ที่ใช้งานอยู่ |
การจัดการช่องทางตัวอย่าง | |
firebase Hosting:channel:create \ CHANNEL_ID |
สร้างช่องทางแสดงตัวอย่างใหม่ใน
default 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 |
โคลนเวอร์ชันที่ระบุไปยัง "เป้าหมาย" ที่ระบุ ช่องสัญญาณ คำสั่งนี้จะติดตั้งใช้งานในช่อง "เป้าหมาย" ที่ระบุด้วย หาก "เป้าหมาย" ยังไม่มีแชแนล คำสั่งนี้จะสร้าง แสดงตัวอย่างแชแนลใน "เป้าหมาย" Hosting เว็บไซต์ก่อนทำให้ใช้งานได้กับ ช่อง คุณจะพบ |
Realtime Database คำสั่ง
โปรดทราบว่าคุณสามารถสร้างอินสแตนซ์ Realtime Database เริ่มต้นเริ่มต้นในคอนโซล Firebase หรือใช้เวิร์กโฟลว์ firebase init
ทั่วไปหรือเวิร์กโฟลว์ firebase init database
ที่เฉพาะเจาะจง
เมื่อสร้างอินสแตนซ์แล้ว คุณจะจัดการอินสแตนซ์ได้ตามที่อธิบายไว้ในหัวข้อจัดการอินสแตนซ์ Realtime Database หลายรายการ
คำสั่ง | คำอธิบาย |
---|---|
database:get | ดึงข้อมูลจากฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่และแสดงเป็น JSON รองรับการค้นหาในข้อมูลที่จัดทำดัชนี |
database:instances:create | สร้างอินสแตนซ์ฐานข้อมูลที่มีชื่ออินสแตนซ์ที่ระบุ ยอมรับตัวเลือก --location สำหรับการสร้างฐานข้อมูลในภูมิภาคที่ระบุ ดูชื่อภูมิภาคที่จะใช้กับตัวเลือกนี้ได้ที่หัวข้อเลือกสถานที่ตั้งสําหรับโปรเจ็กต์
หากไม่มีอินสแตนซ์ฐานข้อมูลสําหรับโปรเจ็กต์ปัจจุบัน ระบบจะแจ้งให้เรียกใช้ขั้นตอน firebase init เพื่อสร้างอินสแตนซ์
|
ฐานข้อมูล:อินสแตนซ์:รายการ | แสดงรายการอินสแตนซ์ฐานข้อมูลทั้งหมดสำหรับโปรเจ็กต์นี้ ยอมรับ
ตัวเลือก --location สำหรับการแสดงรายการฐานข้อมูลใน
ภูมิภาค สำหรับชื่อภูมิภาคที่จะใช้กับตัวเลือกนี้ โปรดดู
เลือกตำแหน่งสำหรับโปรเจ็กต์ |
ฐานข้อมูล:โปรไฟล์ | สร้างโปรไฟล์ของการดำเนินการบนฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ ดูรายละเอียดเพิ่มเติมได้ที่ประเภทการดำเนินการ Realtime Database |
database:push | พุชข้อมูลใหม่ไปยังรายการ ณ ตำแหน่งที่ระบุใน ฐานข้อมูลของโครงการ รับอินพุตจากไฟล์, STDIN หรืออาร์กิวเมนต์บรรทัดคำสั่ง |
database:remove | ลบข้อมูลทั้งหมดในตำแหน่งที่ระบุใน ฐานข้อมูล |
ฐานข้อมูล:ชุด | แทนที่ข้อมูลทั้งหมดในตำแหน่งที่ระบุในฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ รับอินพุตจากไฟล์, STDIN หรืออาร์กิวเมนต์บรรทัดคำสั่ง |
ฐานข้อมูล:อัปเดต | ทำการอัปเดตบางส่วนในตำแหน่งที่ระบุในฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ รับอินพุตจากไฟล์, STDIN หรืออาร์กิวเมนต์บรรทัดคำสั่ง |
Remote Config คำสั่ง
คำสั่ง | คำอธิบาย |
---|---|
remoteconfig:versions:list \ --จำกัด 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 --บังคับ |
เปลี่ยนเทมเพลต Remote Config กลับเป็นเวอร์ชันก่อนหน้าที่ระบุหรือเป็นเวอร์ชันก่อนหน้าโดยตรง (เวอร์ชันปัจจุบัน -1) โดยค่าเริ่มต้น หากไม่ผ่าน --force ระบบจะแสดงข้อความใช่/ไม่ใช่
ก่อนที่จะทำการย้อนกลับ |