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 ให้ทําตามขั้นตอนต่อไปนี้
ดาวน์โหลดไฟล์ไบนารี CLI ของ Firebase สำหรับ Windows
เข้าถึงไบนารีเพื่อเปิดเชลล์ที่คุณสามารถเรียกใช้
firebase
command ได้ดำเนินการต่อเพื่อเข้าสู่ระบบและทดสอบ 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
ไบนารีแบบสแตนด์อโลน
หากต้องการดาวน์โหลดและเรียกใช้ไบนารีสําหรับ Firebase CLI ที่เจาะจงสําหรับระบบปฏิบัติการของคุณ ให้ทําตามขั้นตอนต่อไปนี้
ดาวน์โหลด 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 เวอร์ชันล่าสุด
โดยทั่วไป คุณควรใช้ 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 และสภาพแวดล้อมแบบ Headless อื่นๆ อย่างสมบูรณ์
ติดตั้ง Firebase CLI ในเครื่องที่มีเบราว์เซอร์
เริ่มขั้นตอนการลงชื่อเข้าใช้โดยเรียกใช้คําสั่งต่อไปนี้
firebase login:ci
โปรดไปที่ URL ที่ระบุ แล้วเข้าสู่ระบบโดยใช้บัญชี Google
พิมพ์โทเค็นการรีเฟรชใหม่ เซสชัน CLI ปัจจุบันจะไม่ได้รับผลกระทบ
จัดเก็บโทเค็นเอาต์พุตในลักษณะที่ปลอดภัยแต่เข้าถึงได้ในระบบ CI
ใช้โทเค็นนี้เมื่อเรียกใช้คำสั่ง
firebase
คุณใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้ได้ตัวเลือกที่ 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 นอกจากนี้ คุณยังตั้งค่าฮุกก่อนหรือหลังการทําให้ใช้งานได้ในไฟล์ firebase.json
ได้ด้วย
ต่อไปนี้คือตัวอย่างไฟล์ firebase.json
ที่มีการตั้งค่าเริ่มต้นหากคุณเลือก Firebase Hosting, 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
โดยค่าเริ่มต้น แต่คุณสามารถส่งผ่าน Flag --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 ที่โฮสต์ในเครื่องก่อนที่จะทําให้การเผยแพร่เป็นเวอร์ชันที่ใช้งานจริง หากต้องการทดสอบเฉพาะบางฟีเจอร์ ให้ใช้รายการที่คั่นด้วยคอมมาใน 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
ซึ่งหมายความว่าคุณจะเข้าถึงเนื้อหาที่โฮสต์ได้จากเว็บเบราว์เซอร์ของคอมพิวเตอร์ แต่เข้าถึงจากอุปกรณ์อื่นๆ ในเครือข่ายไม่ได้ หากต้องการทดสอบจากอุปกรณ์อื่นๆ ในพื้นที่ ให้ใช้ Flag --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 บางรายการ ให้ใช้รายการที่คั่นด้วยคอมมาใน Flag บนคําสั่ง 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 และฮุกหลังการทําให้การเผยแพร่อาจแจ้งให้ผู้ดูแลระบบทราบเกี่ยวกับการทําให้เนื้อหาเว็บไซต์ใหม่เผยแพร่ไปยัง Firebase Hosting
หากต้องการตั้งค่าฮุกก่อนการทําให้ใช้งานได้หรือหลังการทําให้ใช้งานได้ ให้เพิ่มสคริปต์ 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 จะโต้ตอบกับอินสแตนซ์ฐานข้อมูลเริ่มต้น
แต่คุณจะโต้ตอบกับอินสแตนซ์ฐานข้อมูลที่ไม่ใช่ค่าเริ่มต้นได้โดยใช้ Flag --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 หรือคําสั่งที่เฉพาะเจาะจง |
init | เชื่อมโยงและตั้งค่าโปรเจ็กต์ Firebase ใหม่ในไดเรกทอรีปัจจุบัน
คำสั่งนี้จะสร้างไฟล์การกำหนดค่า firebase.json ในไดเรกทอรีปัจจุบัน |
login | ตรวจสอบสิทธิ์ CLI กับบัญชี Firebase ต้องมีสิทธิ์เข้าถึงเว็บเบราว์เซอร์ หากต้องการเข้าสู่ระบบ CLI ในสภาพแวดล้อมระยะไกลที่ไม่อนุญาตให้เข้าถึง localhost ให้ใช้ Flag --no-localhost |
login:ci | สร้างโทเค็นการตรวจสอบสิทธิ์เพื่อใช้ในสภาพแวดล้อมแบบไม่อินเทอร์แอกทีฟ |
logout | ออกจากระบบ CLI จากบัญชี Firebase |
open | เปิดเบราว์เซอร์ไปยังแหล่งข้อมูลโปรเจ็กต์ที่เกี่ยวข้อง |
projects:list | แสดงโปรเจ็กต์ Firebase ทั้งหมดที่คุณมีสิทธิ์เข้าถึง |
use | ตั้งค่าโปรเจ็กต์ Firebase ที่ใช้งานอยู่สําหรับ CLI จัดการอีเมลแทนของโปรเจ็กต์ |
คำสั่งการจัดการโปรเจ็กต์
คำสั่ง | คำอธิบาย | |
---|---|---|
การจัดการโปรเจ็กต์ Firebase | ||
projects:addfirebase | เพิ่มทรัพยากร Firebase ไปยังโปรเจ็กต์ Google Cloud ที่มีอยู่ | |
projects:create | สร้างโปรเจ็กต์ Google Cloud ใหม่ จากนั้นเพิ่มทรัพยากร Firebase ลงในโปรเจ็กต์ใหม่ | |
projects:list | แสดงโปรเจ็กต์ Firebase ทั้งหมดที่คุณมีสิทธิ์เข้าถึง | |
การจัดการแอป Firebase (iOS, Android, เว็บ) | ||
apps:create | สร้างแอป Firebase ใหม่ในโปรเจ็กต์ที่ใช้งานอยู่ | |
apps:list | แสดงรายการแอป Firebase ที่ลงทะเบียนในโปรเจ็กต์ที่ใช้งานอยู่ | |
apps:sdkconfig | พิมพ์การกําหนดค่าบริการ Google ของแอป Firebase | |
setup:web | เลิกใช้งานแล้ว ให้ใช้ apps:sdkconfig และระบุ web เป็นอาร์กิวเมนต์แพลตฟอร์มแทนแสดงการกำหนดค่าบริการ Google ของเว็บแอป Firebase |
|
การจัดการแฮชใบรับรอง 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 Hosting ได้
คำสั่ง | คำอธิบาย |
---|---|
ทำให้ใช้งานได้ | ติดตั้งใช้งานโค้ดและชิ้นงานจากไดเรกทอรีโปรเจ็กต์ไปยังโปรเจ็กต์ที่ใช้งานอยู่ สําหรับ Firebase Hosting คุณต้องใช้ไฟล์การกําหนดค่า firebase.json
|
serve | เริ่มเว็บเซิร์ฟเวอร์ในเครื่องด้วยการกำหนดค่า Firebase Hosting
สําหรับ Firebase Hosting คุณต้องใช้ไฟล์การกําหนดค่า firebase.json |
คำสั่ง App Distribution
คำสั่ง | คำอธิบาย |
---|---|
appdistribution:distribute \ --app FIREBASE_APP_ID |
ทำให้บิลด์พร้อมให้บริการแก่ผู้ทดสอบ |
appdistribution:testers:add | เพิ่มผู้ทดสอบลงในโปรเจ็กต์ |
appdistribution:testers:remove | นำผู้ทดสอบออกจากโปรเจ็กต์ |
คำสั่ง App Hosting
คำสั่ง | คำอธิบาย |
---|---|
apphosting:backends:create \ --project PROJECT_ID \ --location REGION --app APP_ID |
สร้างคอลเล็กชันทรัพยากรที่มีการจัดการซึ่งลิงก์กับโค้ดเบสเดียวที่ประกอบด้วยแบ็กเอนด์ App Hosting (ไม่บังคับ) ระบุเว็บแอป Firebase ที่มีอยู่ตามรหัสแอป Firebase |
apphosting:backends:get \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
ดึงรายละเอียดที่เฉพาะเจาะจง รวมถึง URL สาธารณะ ของแบ็กเอนด์ |
apphosting:backends:list \ --project PROJECT_ID |
ดึงข้อมูลรายการแบ็กเอนด์ที่ใช้งานอยู่ทั้งหมดซึ่งเชื่อมโยงกับโปรเจ็กต์ |
firebase apphosting:backends:delete \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
ลบแบ็กเอนด์ออกจากโปรเจ็กต์ |
firebase apphosting:config:export \ --project PROJECT_ID \ --secrets ENVIRONMENT_NAME |
ส่งออกข้อมูลลับเพื่อใช้ในการจําลองแอป ค่าเริ่มต้นคือข้อมูลลับที่จัดเก็บไว้ใน apphosting.yaml หรือใช้ --secrets เพื่อระบุสภาพแวดล้อมที่มีไฟล์ apphosting.ENVIRONMENT_NAME.yaml ที่เกี่ยวข้อง
|
firebase apphosting:rollouts:create \ BACKEND_ID \ --git_branch BRANCH_NAME \ --git_commit COMMIT_ID |
สร้างการเปิดตัวที่ทริกเกอร์ด้วยตนเอง ระบุการคอมมิตล่าสุดไปยังสาขาหรือการคอมมิตที่เฉพาะเจาะจง (ไม่บังคับ) หากไม่มีตัวเลือก ระบบจะแสดงข้อความแจ้งให้เลือกจากรายการสาขา |
apphosting:secrets:set
KEY
--project PROJECT_ID \ --location REGION \ --data-file DATA_FILE_PATH |
จัดเก็บเนื้อหาลับใน Secret Manager ระบุเส้นทางไฟล์ที่จะอ่านข้อมูลลับ (ไม่บังคับ) ตั้งค่าเป็น _ เพื่ออ่านข้อมูลที่เป็นความลับจากอินพุตมาตรฐาน
|
apphosting:secrets:grantaccess
KEY
BACKEND_ID \ --project PROJECT_ID \ --location REGION |
ให้สิทธิ์บัญชีบริการแบ็กเอนด์เข้าถึงข้อมูลลับที่ระบุเพื่อให้ App Hosting เข้าถึงข้อมูลลับดังกล่าวได้เมื่อสร้างหรือรันไทม์ |
apphosting:secrets:describe
KEY \ --project PROJECT_ID |
รับข้อมูลเมตาของข้อมูลลับและเวอร์ชันของข้อมูลลับ |
firebase apphosting:secrets:access \ KEY[@version] \ --project PROJECT_ID |
เข้าถึงค่าข้อมูลลับโดยระบุข้อมูลลับและเวอร์ชัน เริ่มต้นด้วยการเข้าถึงเวอร์ชันล่าสุด |
Authentication (การจัดการผู้ใช้) คำสั่ง
คำสั่ง | คำอธิบาย |
---|---|
auth:export | ส่งออกบัญชีผู้ใช้ของโปรเจ็กต์ที่ใช้งานอยู่ไปยังไฟล์ JSON หรือ CSV ดูรายละเอียดเพิ่มเติมได้ที่หน้า auth:import และ auth:export |
auth:import | นําเข้าบัญชีผู้ใช้จากไฟล์ JSON หรือ CSV ไปยังโปรเจ็กต์ที่ใช้งานอยู่ ดูรายละเอียดเพิ่มเติมได้ที่หน้า auth:import และ auth:export |
คำสั่ง Cloud Firestore
คำสั่ง | คำอธิบาย |
---|---|
firestore:locations |
แสดงรายการตำแหน่งที่ใช้ได้สำหรับฐานข้อมูล Cloud Firestore |
firestore:databases:create DATABASE_ID |
สร้างอินสแตนซ์ฐานข้อมูลในโหมดเนทีฟในโปรเจ็กต์ Firebase คำสั่งนี้ใช้ Flag ต่อไปนี้
|
firestore:databases:list |
แสดงรายการฐานข้อมูลในโปรเจ็กต์ Firebase |
firestore:databases:get DATABASE_ID |
ดูการกําหนดค่าฐานข้อมูลสําหรับฐานข้อมูลที่ระบุในโปรเจ็กต์ Firebase |
firestore:databases:update DATABASE_ID |
อัปเดตการกําหนดค่าฐานข้อมูลของฐานข้อมูลที่ระบุในโปรเจ็กต์ Firebase ต้องระบุ Flag อย่างน้อย 1 รายการ คำสั่งนี้ใช้ Flag ต่อไปนี้
|
firestore:databases:delete DATABASE_ID |
ลบฐานข้อมูลในโปรเจ็กต์ Firebase |
firestore:indexes |
แสดงรายการดัชนีสําหรับฐานข้อมูลในโปรเจ็กต์ Firebase คำสั่งนี้ใช้ Flag ต่อไปนี้
|
firestore:delete |
ลบเอกสารในฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ เมื่อใช้ CLI คุณจะสามารถลบเอกสารทั้งหมดในคอลเล็กชันแบบซ้ำได้ โปรดทราบว่าการลบข้อมูล Cloud Firestore ด้วย CLI จะมีค่าใช้จ่ายในการอ่านและการลบ ดูข้อมูลเพิ่มเติมได้ที่ทำความเข้าใจการเรียกเก็บเงินของ Cloud Firestore คำสั่งนี้ใช้ Flag ต่อไปนี้
|
คำสั่ง 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 |
สร้างรหัสไฟล์การแมปที่ไม่ซ้ำกันในไฟล์ทรัพยากร (XML) ของ Android ที่ระบุ |
crashlytics:mappingfile:upload \ --app=FIREBASE_APP_ID \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML \ PATH/TO/MAPPING_FILE.TXT |
อัปโหลดไฟล์การแมป (TXT) ที่เข้ากันได้กับ Proguard สําหรับแอปนี้ และเชื่อมโยงกับรหัสไฟล์การแมปที่ประกาศไว้ในไฟล์ทรัพยากร Android (XML) ที่ระบุ |
crashlytics:symbols:upload \ --app=FIREBASE_APP_ID \ PATH/TO/SYMBOLS |
สร้างไฟล์สัญลักษณ์ที่เข้ากันได้กับ Crashlytics สําหรับข้อขัดข้องของไลบรารีเนทีฟใน Android และอัปโหลดไปยังเซิร์ฟเวอร์ Firebase |
คำสั่ง Data Connect
คำสั่งเหล่านี้และกรณีการใช้งานมีรายละเอียดอยู่ในData Connectคู่มืออ้างอิง CLI
คำสั่ง | คำอธิบาย |
---|---|
dataconnect:services:list | แสดงรายการบริการ Data Connect ที่ติดตั้งใช้งานทั้งหมดในโปรเจ็กต์ Firebase |
dataconnect:sql:diff \ SERVICE_ID |
สำหรับบริการที่ระบุ จะแสดงความแตกต่างระหว่างสคีมาData Connectในเครื่องกับสคีมาฐานข้อมูล Cloud SQL |
dataconnect:sql:migrate \ --force \ SERVICE_ID |
ย้ายข้อมูลสคีมาของฐานข้อมูล Cloud SQL ให้ตรงกับสคีมาData Connectในเครื่อง |
dataconnect:sql:grant\ --role=ROLE \ --email=EMAIL \ SERVICE_ID |
ให้บทบาท SQL แก่ผู้ใช้หรืออีเมลบัญชีบริการที่ระบุ
สำหรับ Flag --role บทบาท SQL ที่จะให้สิทธิ์ต้องเป็น owner , writer หรือ reader
สำหรับ Flag --email ให้ระบุอีเมลของผู้ใช้หรือบัญชีบริการที่จะให้บทบาท
|
dataconnect:sdk:generate | สร้าง SDK ที่มีประเภทสําหรับเครื่องมือเชื่อมต่อ Data Connect |
คำสั่ง Extensions
คำสั่ง | คำอธิบาย |
---|---|
ext | แสดงข้อมูลเกี่ยวกับวิธีใช้คำสั่ง Firebase Extensions แสดงรายการอินสแตนซ์ส่วนขยายที่ติดตั้งในโปรเจ็กต์ที่ใช้งานอยู่ |
ext:configure \ EXTENSION_INSTANCE_ID |
กำหนดค่าพารามิเตอร์ของอินสแตนซ์ส่วนขยายในไฟล์ Manifest ของส่วนขยายอีกครั้ง |
ext:info \ PUBLISHER_ID/EXTENSION_ID |
พิมพ์ข้อมูลโดยละเอียดเกี่ยวกับส่วนขยาย |
ext:install \ PUBLISHER_ID/EXTENSION_ID |
เพิ่มอินสแตนซ์ใหม่ของส่วนขยายลงในไฟล์ Manifest ของส่วนขยาย |
ext:list | แสดงรายการอินสแตนซ์ส่วนขยายทั้งหมดที่ติดตั้งในโปรเจ็กต์ Firebase แสดงรหัสอินสแตนซ์ของส่วนขยายแต่ละรายการ |
ext:uninstall \ EXTENSION_INSTANCE_ID |
นําอินสแตนซ์ส่วนขยายออกจากไฟล์ Manifest ของส่วนขยาย |
ext:update \ EXTENSION_INSTANCE_ID |
อัปเดตอินสแตนซ์ส่วนขยายเป็นเวอร์ชันล่าสุดในไฟล์ Manifest ของส่วนขยาย |
ext:export | ส่งออกอินสแตนซ์ส่วนขยายที่ติดตั้งทั้งหมดจากโปรเจ็กต์ไปยังไฟล์ Manifest ของส่วนขยาย |
Extensions คำสั่งของผู้เผยแพร่โฆษณา
คำสั่ง | คำอธิบาย |
---|---|
ext:dev:init | เริ่มต้นโค้ดสแควร์โครงสําหรับส่วนขยายใหม่ในไดเรกทอรีปัจจุบัน |
ext:dev:list \ PUBLISHER_ID |
พิมพ์รายการส่วนขยายทั้งหมดที่ผู้เผยแพร่โฆษณาอัปโหลด |
ext:dev:register | ลงทะเบียนโปรเจ็กต์ Firebase เป็นโปรเจ็กต์ผู้เผยแพร่ส่วนขยาย |
ext:dev:deprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
เลิกใช้งาน
เวอร์ชันส่วนขยายที่ตรงกับนิพจน์เชิงตรรกะของเวอร์ชัน พริเนกต์เวอร์ชันอาจเป็นเวอร์ชันเดียว (เช่น 1.0.0 ) หรือช่วงของเวอร์ชัน (เช่น >1.0.0 )หากไม่ระบุพริเนกต์เวอร์ชัน ระบบจะเลิกใช้งานส่วนขยายทุกเวอร์ชัน |
ext:dev:undeprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
ยกเลิกการเลิกใช้งานเวอร์ชันส่วนขยายที่ตรงกับนิพจน์เชิงตรรกะของเวอร์ชัน พริเนกต์เวอร์ชันอาจเป็นเวอร์ชันเดียว (เช่น 1.0.0 ) หรือช่วงของเวอร์ชัน (เช่น >1.0.0 )หากไม่ได้ระบุพริเนกต์เวอร์ชัน ระบบจะเลิกเลิกใช้งานส่วนขยายทุกเวอร์ชันของส่วนขยายนั้น |
ext:dev:upload \ PUBLISHER_ID/EXTENSION_ID |
อัปโหลดส่วนขยายเวอร์ชันใหม่ |
ext:dev:usage \ PUBLISHER_ID |
แสดงจํานวนการติดตั้งและเมตริกการใช้งานสําหรับส่วนขยายที่อัปโหลดโดยผู้เผยแพร่โฆษณา |
คำสั่ง Hosting
คำสั่ง | คำอธิบาย |
---|---|
hosting:disable |
หยุดแสดงการเข้าชม Firebase Hosting สําหรับโปรเจ็กต์ Firebase ที่ใช้งานอยู่ 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 |
สร้างแชแนลตัวอย่างใหม่ในเว็บไซต์ 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 เพื่อสร้างอินสแตนซ์
|
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 ก่อนดำเนินการย้อนกลับ |