ข้อมูลอ้างอิง Firebase CLI

Firebase CLI (GitHub) มีเครื่องมือมากมายสำหรับการจัดการ ดู และทำให้ใช้งานได้ในโปรเจ็กต์ Firebase

ก่อนใช้ Firebase CLI ให้สร้างโปรเจ็กต์ Firebase

ตั้งค่าหรืออัปเดต CLI

ติดตั้ง Firebase CLI

คุณติดตั้ง Firebase CLI โดยใช้วิธีการที่ตรงกับระบบปฏิบัติการ ระดับประสบการณ์ และ/หรือกรณีการใช้งานได้ ไม่ว่าจะติดตั้ง CLI ด้วยวิธีใด คุณก็จะมีสิทธิ์เข้าถึงฟังก์ชันการทํางานและคําสั่ง firebase เดียวกัน

Windows macOS Linux

หน้าต่าง

คุณติดตั้ง Firebase CLI สำหรับ Windows ได้โดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้

ตัวเลือก คำอธิบาย แนะนำสำหรับ...
ไบนารีแบบสแตนด์อโลน ดาวน์โหลดไบนารีแบบสแตนด์อโลนสำหรับ CLI จากนั้นคุณจะเข้าถึงไฟล์สั่งการเพื่อเปิด Shell ที่เรียกใช้คำสั่ง firebase ได้ นักพัฒนาซอฟต์แวร์รายใหม่

นักพัฒนาซอฟต์แวร์ที่ไม่ได้ใช้หรือไม่คุ้นเคยกับ Node.js
npm ใช้ npm (ตัวจัดการแพ็กเกจโหนด) เพื่อติดตั้ง CLI และเปิดใช้คำสั่ง firebase ที่ใช้ได้ทั่วโลก นักพัฒนาซอฟต์แวร์ที่ใช้ Node.js

ไบนารีแบบสแตนด์อโลน

หากต้องการดาวน์โหลดและเรียกใช้ไบนารีสำหรับ Firebase CLI ให้ทำตามขั้นตอนต่อไปนี้

  1. ดาวน์โหลดไบนารี Firebase CLI สำหรับ Windows

  2. เข้าถึงไบนารีเพื่อเปิด Shell ที่คุณเรียกใช้คำสั่ง firebase ได้

  3. ไปที่เข้าสู่ระบบและทดสอบ CLI

npm

หากต้องการใช้ npm (ตัวจัดการแพ็กเกจโหนด) เพื่อติดตั้ง Firebase CLI ให้ทำตามขั้นตอนต่อไปนี้

  1. ติดตั้ง Node.js โดยใช้ nvm-windows (เครื่องมือจัดการเวอร์ชันของโหนด) การติดตั้ง Node.js จะติดตั้งเครื่องมือคำสั่ง npm โดยอัตโนมัติ

  2. ติดตั้ง Firebase CLI ผ่าน npm โดยเรียกใช้คำสั่งต่อไปนี้

    npm install -g firebase-tools

    คำสั่งนี้จะเป็นการเปิดใช้คำสั่ง firebase ที่ใช้ได้ทั่วโลก

  3. ไปที่เข้าสู่ระบบและทดสอบ CLI

macOS หรือ Linux

คุณติดตั้ง Firebase CLI สำหรับ macOS หรือ Linux ได้โดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้

ตัวเลือก คำอธิบาย แนะนำสำหรับ...
สคริปต์การติดตั้งอัตโนมัติ เรียกใช้คำสั่งเดียวที่ตรวจหาระบบปฏิบัติการของคุณโดยอัตโนมัติ ดาวน์โหลด CLI รุ่นล่าสุด แล้วเปิดใช้คำสั่ง firebase ที่ใช้ได้ทั่วโลก นักพัฒนาแอปรายใหม่

นักพัฒนาแอปที่ไม่ได้ใช้หรือไม่คุ้นเคยกับ Node.js

ติดตั้งใช้งานโดยอัตโนมัติในสภาพแวดล้อม CI/CD
ไบนารีแบบสแตนด์อโลน ดาวน์โหลดไบนารีแบบสแตนด์อโลนสำหรับ CLI จากนั้นจึงกำหนดค่าและเรียกใช้ไบนารีที่เหมาะกับเวิร์กโฟลว์ เวิร์กโฟลว์ที่ปรับแต่งได้อย่างเต็มรูปแบบโดยใช้ CLI
npm ใช้ npm (ตัวจัดการแพ็กเกจโหนด) เพื่อติดตั้ง CLI และเปิดใช้คำสั่ง firebase ที่ใช้ได้ทั่วโลก นักพัฒนาซอฟต์แวร์ที่ใช้ Node.js

สคริปต์การติดตั้งอัตโนมัติ

หากต้องการติดตั้ง Firebase CLI โดยใช้สคริปต์การติดตั้งอัตโนมัติ ให้ทำตามขั้นตอนต่อไปนี้

  1. เรียกใช้คำสั่ง cURL ต่อไปนี้

    curl -sL https://firebase.tools | bash

    สคริปต์นี้จะตรวจหาระบบปฏิบัติการของคุณโดยอัตโนมัติ ดาวน์โหลด Firebase CLI รุ่นล่าสุด แล้วเปิดใช้คำสั่ง firebase ที่ใช้ได้ทั่วโลก

  2. ไปที่เข้าสู่ระบบและทดสอบ CLI

สำหรับตัวอย่างและรายละเอียดเพิ่มเติมเกี่ยวกับสคริปต์การติดตั้งอัตโนมัติ โปรดดูซอร์สโค้ดของสคริปต์ที่ firebase.tools

ไบนารีแบบสแตนด์อโลน

หากต้องการดาวน์โหลดและเรียกใช้ไบนารีของ Firebase CLI ที่เฉพาะเจาะจงสำหรับระบบปฏิบัติการของคุณ ให้ทำตามขั้นตอนต่อไปนี้

  1. ดาวน์โหลดไบนารี Firebase CLI สำหรับระบบปฏิบัติการที่คุณใช้: macOS | Linux

  2. (ไม่บังคับ) ตั้งค่าคำสั่ง firebase ที่ใช้ได้ทั่วโลก

    1. ทำให้ไฟล์สั่งการไบนารีได้โดยเรียกใช้ chmod +x ./firebase_tools
    2. เพิ่มเส้นทางของไบนารีลงใน PATH
  3. ไปที่เข้าสู่ระบบและทดสอบ CLI

npm

หากต้องการใช้ npm (ตัวจัดการแพ็กเกจโหนด) เพื่อติดตั้ง Firebase CLI ให้ทำตามขั้นตอนต่อไปนี้

  1. ติดตั้ง Node.js โดยใช้ nvm (เครื่องมือจัดการเวอร์ชันของโหนด)
    การติดตั้ง Node.js จะติดตั้งเครื่องมือคำสั่ง npm โดยอัตโนมัติ

  2. ติดตั้ง Firebase CLI ผ่าน npm โดยเรียกใช้คำสั่งต่อไปนี้

    npm install -g firebase-tools

    คำสั่งนี้จะเป็นการเปิดใช้คำสั่ง firebase ที่ใช้ได้ทั่วโลก

  3. ไปที่เข้าสู่ระบบและทดสอบ CLI

เข้าสู่ระบบและทดสอบ Firebase CLI

หลังจากติดตั้ง CLI คุณต้องตรวจสอบสิทธิ์ จากนั้นคุณจะยืนยันการตรวจสอบสิทธิ์ได้โดยแสดงรายการโปรเจ็กต์ Firebase

  1. เข้าสู่ระบบ Firebase โดยใช้บัญชี Google โดยเรียกใช้คำสั่งต่อไปนี้

    firebase login

    คำสั่งนี้จะเชื่อมต่อเครื่องภายในกับ Firebase และให้สิทธิ์คุณเข้าถึงโปรเจ็กต์ Firebase

  2. ทดสอบว่า CLI ติดตั้งอย่างถูกต้องและเข้าถึงบัญชีของคุณโดยการแสดงโปรเจ็กต์ Firebase ของคุณ เรียกใช้คำสั่งต่อไปนี้

    firebase projects:list

    รายการที่แสดงควรเหมือนกับโปรเจ็กต์ Firebase ที่ระบุไว้ในคอนโซล Firebase

อัปเดตเป็น CLI เวอร์ชันล่าสุด

โดยทั่วไปคุณต้องการใช้ Firebase CLI เวอร์ชันล่าสุด

วิธีอัปเดตเวอร์ชัน CLI ขึ้นอยู่กับระบบปฏิบัติการและวิธีติดตั้ง CLI

Windows

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 และสภาพแวดล้อมแบบไม่มีส่วนหัวอื่นๆ อย่างสมบูรณ์

  1. ติดตั้ง Firebase CLI ในเครื่องที่มีเบราว์เซอร์

  2. เริ่มขั้นตอนการลงชื่อเข้าใช้โดยเรียกใช้คำสั่งต่อไปนี้

    firebase login:ci
  3. ไปที่ URL ที่ระบุ จากนั้นเข้าสู่ระบบโดยใช้บัญชี Google

  4. พิมพ์โทเค็นการรีเฟรชใหม่ เซสชัน CLI ปัจจุบันจะไม่ได้รับผลกระทบ

  5. จัดเก็บโทเค็นเอาต์พุตด้วยวิธีที่ปลอดภัยแต่เข้าถึงได้ในระบบ CI

  6. ใช้โทเค็นนี้เมื่อเรียกใช้คำสั่ง 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 \
PROJECT_ID|ALIAS
สั่งการคำสั่งทั้งหมดให้ทำงานกับโปรเจ็กต์ Firebase ที่ระบุ
CLI ใช้โปรเจ็กต์นี้เป็น "โปรเจ็กต์ที่ใช้งานอยู่" ในปัจจุบัน
firebase use --clear ล้างโปรเจ็กต์ที่ใช้งานอยู่

เรียกใช้ firebase use PROJECT_ID|ALIAS เพื่อตั้งค่าโปรเจ็กต์ใหม่ที่ใช้งานอยู่ก่อนเรียกใช้คำสั่ง CLI อื่นๆ

firebase use \
--unalias PROJECT_ALIAS
นำชื่อแทนออกจากไดเรกทอรีโปรเจ็กต์

คุณลบล้างสิ่งที่ใช้เป็นโปรเจ็กต์ที่ใช้งานอยู่ในปัจจุบันได้โดยการส่งแฟล็ก --project ด้วยคำสั่ง CLI ตัวอย่างเช่น คุณตั้งค่า CLI ให้ทำงานในโปรเจ็กต์ Firebase ที่กำหนดชื่อแทน staging แล้ว หากต้องการเรียกใช้คำสั่งเดียวกับโปรเจ็กต์ Firebase ที่คุณกำหนดชื่อแทน prod ไว้ คุณก็สามารถเรียกใช้ได้ เช่น firebase deploy --project=prod

การควบคุมแหล่งที่มาและชื่อแทนโปรเจ็กต์

โดยทั่วไป คุณควรตรวจสอบไฟล์ .firebaserc ในการควบคุมแหล่งที่มาเพื่ออนุญาตให้ทีมแชร์ชื่อแทนโปรเจ็กต์ได้ อย่างไรก็ตาม โดยทั่วไปแล้ว คุณไม่ควรตรวจสอบในไฟล์ .firebaserc สำหรับโปรเจ็กต์โอเพนซอร์สหรือเทมเพลตเริ่มต้น

หากคุณมีโปรเจ็กต์การพัฒนาสำหรับการใช้งานเท่านั้น คุณจะส่งแฟล็ก --project ด้วยแต่ละคำสั่งหรือเรียกใช้ firebase use PROJECT_ID ได้โดยไม่ต้องกำหนดชื่อแทนให้กับโปรเจ็กต์ Firebase

แสดงและทดสอบโปรเจ็กต์ Firebase ในเครื่อง

คุณดูและทดสอบโปรเจ็กต์ Firebase บน URL ที่โฮสต์ในเครื่องก่อนทำให้ใช้งานได้ในเวอร์ชันที่ใช้งานจริงได้ หากต้องการทดสอบเฉพาะฟีเจอร์บางอย่าง ให้ใช้รายการที่คั่นด้วยคอมมาในแฟล็กของคำสั่ง firebase serve

เรียกใช้คำสั่งต่อไปนี้จากรูทของไดเรกทอรีโปรเจ็กต์ในเครื่องหากต้องการดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้

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

คำสั่งจะใช้แฟล็กต่อไปนี้

  • --location <ชื่อภูมิภาค> เพื่อระบุตำแหน่งการทำให้ใช้งานได้สำหรับฐานข้อมูล โปรดทราบว่าคุณเรียกใช้ firebase Firestore:locations เพื่อแสดงตำแหน่งที่ใช้ได้ ต้องระบุ
  • --delete-protection <deleteProtectionState> เพื่ออนุญาตหรือป้องกันการลบฐานข้อมูลที่ระบุ ค่าที่ถูกต้องคือ ENABLED หรือ DISABLED ค่าเริ่มต้นคือ DISABLED
  • --point-in-time-recovery <PITRState> เพื่อกำหนดว่าจะเปิดใช้การกู้คืนช่วงเวลาหรือไม่ ค่าที่ถูกต้องคือ ENABLED หรือ DISABLED ค่าเริ่มต้นคือ DISABLED ไม่บังคับ
firestore:databases:list

แสดงรายการฐานข้อมูลในโปรเจ็กต์ Firebase

firestore:databases:get DATABASE_ID

รับการกำหนดค่าฐานข้อมูลสำหรับฐานข้อมูลที่ระบุในโปรเจ็กต์ Firebase

firestore:databases:update DATABASE_ID

อัปเดตการกำหนดค่าฐานข้อมูลของฐานข้อมูลที่ระบุในโปรเจ็กต์ Firebase

ต้องได้รับแฟล็กอย่างน้อย 1 รายการ คำสั่งจะใช้แฟล็กต่อไปนี้

  • --delete-protection <deleteProtectionState> เพื่ออนุญาตหรือป้องกันการลบฐานข้อมูลที่ระบุ ค่าที่ถูกต้องคือ ENABLED หรือ DISABLED ค่าเริ่มต้นคือ DISABLED
  • --point-in-time-recovery <PITRState> เพื่อกำหนดว่าจะเปิดใช้การกู้คืนช่วงเวลาหรือไม่ ค่าที่ถูกต้องคือ ENABLED หรือ DISABLED ค่าเริ่มต้นคือ DISABLED ไม่บังคับ
firestore:databases:ลบ DATABASE_ID

ลบฐานข้อมูลในโปรเจ็กต์ Firebase

firestore:indexes

แสดงรายการดัชนีสำหรับฐานข้อมูลในโปรเจ็กต์ Firebase

คำสั่งดังกล่าวใช้แฟล็กต่อไปนี้

  • --database DATABASE_ID เพื่อระบุชื่อฐานข้อมูลที่จะแสดงรายการดัชนี หากไม่ระบุ ระบบจะแสดงดัชนีสำหรับฐานข้อมูลเริ่มต้น
firestore:delete

ลบเอกสารในฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ เมื่อใช้ CLI คุณจะลบเอกสารทั้งหมดในคอลเล็กชันซ้ำได้

โปรดทราบว่าการลบข้อมูล Cloud Firestore ด้วย CLI มีค่าใช้จ่ายในการอ่านและลบ ดูข้อมูลเพิ่มเติมได้ที่ทำความเข้าใจการเรียกเก็บเงิน Cloud Firestore

คำสั่งดังกล่าวใช้แฟล็กต่อไปนี้

  • --database DATABASE_ID เพื่อระบุชื่อของฐานข้อมูลที่เอกสารจะถูกลบ หากไม่ได้ระบุ ระบบจะลบเอกสารออกจากฐานข้อมูลเริ่มต้น ไม่บังคับ

คำสั่ง 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 ที่ใช้งานอยู่โดยใช้ SITE_ID ที่ระบุ

(ไม่บังคับ) ระบุเว็บแอป Firebase ที่มีอยู่เพื่อเชื่อมโยงกับเว็บไซต์ใหม่โดยการส่งแฟล็กต่อไปนี้ --app FIREBASE_APP_ID

firebase Hosting:sites:delete \
SITE_ID

ลบเว็บไซต์โฮสติ้งที่ระบุ

CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนลบเว็บไซต์

(ไม่บังคับ) ข้ามข้อความแจ้งการยืนยันด้วยการติดธงต่อไปนี้ -f หรือ --force

firebase Hosting:sites:get \
SITE_ID

เรียกข้อมูลเกี่ยวกับเว็บไซต์โฮสติ้งที่ระบุ

firebase Hosting:sites:list

แสดงรายการเว็บไซต์โฮสติ้งทั้งหมดสำหรับโปรเจ็กต์ Firebase ที่ใช้งานอยู่

การจัดการช่องตัวอย่าง
firebase Hosting:channel:create \
CHANNEL_ID

สร้างช่องทางตัวอย่างใหม่ในเว็บไซต์โฮสติ้งเริ่มต้นโดยใช้ 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" ก่อนที่จะทำให้ใช้งานได้กับแชแนล

คุณดู VERSION_ID ได้ในแดชบอร์ดโฮสติ้งของคอนโซล Firebase

คำสั่งของ 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 ให้แจ้งใช่/ไม่ใช่ก่อนดำเนินการย้อนกลับ