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

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

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

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

ติดตั้ง Firebase CLI

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

Windows macOS Linux

Windows

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

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

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

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

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

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

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

  3. ดำเนินการต่อเพื่อเข้าสู่ระบบและทดสอบ CLI

npm

หากต้องการใช้ npm (Node Package Manager) เพื่อติดตั้ง Firebase CLI ให้ทําตามขั้นตอนต่อไปนี้

  1. ติดตั้ง Node.js โดยใช้ nvm-windows (เครื่องมือจัดการเวอร์ชัน Node) การติดตั้ง 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 (Node Package Manager) เพื่อติดตั้ง 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 (Node Package Manager) เพื่อติดตั้ง Firebase CLI ให้ทำตามขั้นตอนต่อไปนี้

  1. ติดตั้ง Node.js โดยใช้ nvm (เครื่องมือจัดการเวอร์ชัน Node)
    การติดตั้ง 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 และสภาพแวดล้อมแบบ Headless อื่นๆ อย่างสมบูรณ์

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

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

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

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

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

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

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

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

คุณสามารถลบล้างโปรเจ็กต์ที่ใช้อยู่ในปัจจุบันได้โดยส่งผ่าน Flag --project กับคําสั่ง CLI ตัวอย่างเช่น คุณสามารถตั้งค่า CLI ให้ทํางานกับโปรเจ็กต์ Firebase ที่คุณกําหนดstagingแทน หากต้องการเรียกใช้คําสั่งเดียวกับโปรเจ็กต์ Firebase ที่คุณกําหนดให้ใช้แทน prod ให้เรียกใช้firebase deploy --project=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 คำสั่งต่อไปนี้รองรับ Flag --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 ต่อไปนี้

  • --location <region name> เพื่อระบุตำแหน่งในการติดตั้งใช้งานสำหรับฐานข้อมูล โปรดทราบว่าคุณสามารถเรียกใช้ 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

ต้องระบุ Flag อย่างน้อย 1 รายการ คำสั่งนี้ใช้ Flag ต่อไปนี้

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

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

firestore:indexes

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

คำสั่งนี้ใช้ Flag ต่อไปนี้

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

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

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

คำสั่งนี้ใช้ Flag ต่อไปนี้

  • --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
สร้างรหัสไฟล์การแมปที่ไม่ซ้ำกันในไฟล์ทรัพยากร (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 ที่ใช้งานอยู่โดยใช้ SITE_ID ที่ระบุ

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

firebase hosting:sites:delete \
SITE_ID

ลบเว็บไซต์ Hosting ที่ระบุ

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

(ไม่บังคับ) ข้ามข้อความยืนยันโดยส่ง Flag ต่อไปนี้ -f หรือ --force

firebase hosting:sites:get \
SITE_ID

ดึงข้อมูลเกี่ยวกับเว็บไซต์ Hosting ที่ระบุ

firebase hosting:sites:list

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

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

สร้างแชแนลตัวอย่างใหม่ในเว็บไซต์ Hosting เริ่มต้นโดยใช้ CHANNEL_ID ที่ระบุ

คำสั่งนี้จะไม่ทําให้ช่องใช้งานได้

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 "เป้าหมาย" ก่อนนำไปใช้งานในช่อง

คุณจะพบ VERSION_ID ในหน้าแดชบอร์ด Hosting ของคอนโซล Firebase

คำสั่ง 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 ก่อนดำเนินการย้อนกลับ