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

CLI ในFirebase (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 (ตัวจัดการแพ็กเกจโหนด) เพื่อติดตั้ง CLI และเปิดใช้ คำสั่ง firebase ที่ใช้ได้ทั่วโลก นักพัฒนาซอฟต์แวร์ที่ใช้ Node.js

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

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

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

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

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

npm

วิธีใช้ npm (ตัวจัดการแพ็กเกจโหนด) เพื่อติดตั้ง 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 (ตัวจัดการแพ็กเกจโหนด) เพื่อติดตั้ง Firebase CLI ให้ทำตามขั้นตอนต่อไปนี้

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

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

    npm install -g firebase-tools

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

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

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

หลังจากติดตั้ง 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

CLI ของ Firebase ต้องใช้เบราว์เซอร์เพื่อดำเนินการตรวจสอบสิทธิ์ให้เสร็จสมบูรณ์ แต่ CLI เข้ากันได้กับ CI และสภาพแวดล้อมแบบไม่มีส่วนหัวอื่นๆ อย่างสมบูรณ์

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

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

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

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

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

  6. ใช้โทเค็นนี้เมื่อเรียกใช้คำสั่ง firebase คุณสามารถใช้ ตัวเลือก 2 รายการต่อไปนี้

    • ตัวเลือกที่ 1: จัดเก็บโทเค็นเป็นตัวแปรสภาพแวดล้อม FIREBASE_TOKEN ระบบจะใช้โทเค็นโดยอัตโนมัติ

    • ตัวเลือกที่ 2: เรียกใช้คําสั่ง firebase ทั้งหมดที่มี Flag --token TOKEN ในระบบ CI
      ลําดับลําดับความสําคัญของการโหลดโทเค็นคือ Flag, ตัวแปรสภาพแวดล้อม และโปรเจ็กต์ Firebase ที่ต้องการ

เริ่มต้นโปรเจ็กต์ Firebase

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

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

firebase init

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

  • เลือกผลิตภัณฑ์ Firebase ที่ต้องการตั้งค่าในโปรเจ็กต์ Firebase

    ขั้นตอนนี้จะแจ้งให้คุณกำหนดค่าสำหรับไฟล์ที่เฉพาะเจาะจงสำหรับผลิตภัณฑ์ที่เลือก ดูรายละเอียดเพิ่มเติมเกี่ยวกับการกําหนดค่าเหล่านี้ได้ในเอกสารประกอบของผลิตภัณฑ์ที่เฉพาะเจาะจง (เช่น Hosting) โปรดทราบว่าคุณสามารถเรียกใช้ firebase init ในภายหลังเพื่อตั้งค่าผลิตภัณฑ์ Firebase เพิ่มเติมได้ทุกเมื่อ

  • เลือกโปรเจ็กต์ Firebase เริ่มต้น

    ขั้นตอนนี้จะเชื่อมโยงไดเรกทอรีโครงการปัจจุบันกับโครงการ Firebase ดังนั้น ที่คำสั่งเฉพาะโปรเจ็กต์ (เช่น firebase deploy) จะทำงานกับ โปรเจ็กต์ Firebase ที่เหมาะสม

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

เมื่อการเริ่มต้นเสร็จสิ้น Firebase จะสร้างไฟล์ 2 ไฟล์ต่อไปนี้โดยอัตโนมัติที่รูทของไดเรกทอรีแอปในเครื่อง

  • ไฟล์การกำหนดค่า firebase.json ที่แสดง การกำหนดค่าโปรเจ็กต์ของคุณ

  • ไฟล์ .firebaserc ที่เก็บอีเมลแทนของโปรเจ็กต์

ไฟล์ firebase.json

คำสั่ง firebase init จะสร้างไฟล์การกำหนดค่า firebase.json ที่รูทของไดเรกทอรีโปรเจ็กต์

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

คุณสามารถกำหนดค่าตัวเลือกส่วนใหญ่ของ Firebase Hosting ได้ ในไฟล์ firebase.json โดยตรง อย่างไรก็ตาม สำหรับ บริการ Firebase ที่ทำให้ใช้งานได้ด้วย Firebase CLI คำสั่ง firebase init จะสร้างไฟล์เฉพาะที่คุณสามารถกำหนดการตั้งค่าได้ สำหรับบริการเหล่านั้น เช่น ไฟล์ index.js สำหรับ Cloud Functions คุณสามารถ ตั้งค่า Hooks ล่วงหน้าหรือหลังจากทำให้ใช้งานได้ในไฟล์ firebase.json ด้วย

ต่อไปนี้คือตัวอย่างไฟล์ firebase.json ที่มีการตั้งค่าเริ่มต้นหากคุณเลือก Firebase Hosting, Cloud Firestore และ Cloud Functions for Firebase (โดยเลือกตัวเลือกแหล่งที่มาและตัวเลือกการตรวจสอบ TypeScript) ในระหว่างการเริ่มต้น

{
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  },
  "firestore": {
      "rules": "firestore.rules",
      "indexes": "firestore.indexes.json"
  },
  "functions": {
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint",
      "npm --prefix \"$RESOURCE_DIR\" run build"
    ]
  }
}

แม้ว่าระบบจะใช้ firebase.json โดยค่าเริ่มต้น คุณก็ส่ง แฟล็ก --config PATH เพื่อระบุทางเลือก ใหม่

การกําหนดค่าสําหรับฐานข้อมูล Cloud Firestore หลายรายการ

เมื่อคุณเรียกใช้ firebase init ไฟล์ firebase.json ของคุณจะมีไฟล์เดียว คีย์ firestore ที่สอดคล้องกับฐานข้อมูลเริ่มต้นของโปรเจ็กต์ตามที่แสดง ที่ด้านบน

หากโปรเจ็กต์มีฐานข้อมูล Cloud Firestore หลายแห่ง ให้แก้ไขไฟล์ firebase.json เพื่อเชื่อมโยง Cloud Firestore Security Rules ต่างๆ และไฟล์แหล่งที่มาของดัชนีฐานข้อมูลกับแต่ละฐานข้อมูล แก้ไขไฟล์ด้วยอาร์เรย์ JSON โดยให้มีรายการ 1 รายการสําหรับฐานข้อมูลแต่ละรายการ

      "firestore": [
        {
          "database": "(default)",
          "rules": "firestore.default.rules",
          "indexes": "firestore.default.indexes.json"
        },
        {
          "database": "ecommerce",
          "rules": "firestore.ecommerce.rules",
          "indexes": "firestore.ecommerce.indexes.json"
        }
      ],

ไฟล์ Cloud Functions ที่จะละเว้นเมื่อทําให้ใช้งานได้

ขณะทำให้ฟังก์ชันใช้งานได้ CLI จะระบุโดยอัตโนมัติ รายการไฟล์ในไดเรกทอรี functions ที่จะละเว้น ช่วงเวลานี้ ป้องกันไม่ให้ทำให้ใช้งานได้กับไฟล์ส่วนเกินของแบ็กเอนด์ซึ่งอาจ จะเพิ่มขนาดข้อมูลการติดตั้งใช้งาน

รายการไฟล์ที่ละเว้นโดยค่าเริ่มต้นซึ่งแสดงในรูปแบบ JSON มีดังนี้

"ignore": [
  ".git",
  ".runtimeconfig.json",
  "firebase-debug.log",
  "firebase-debug.*.log",
  "node_modules"
]

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

จัดการชื่อแทนของโปรเจ็กต์

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

เพิ่มชื่อแทนโปรเจ็กต์

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

firebase use --add

คำสั่งนี้จะแจ้งให้คุณเลือกโปรเจ็กต์ Firebase อื่นและกำหนดโปรเจ็กต์นั้นเป็นอีเมลแทน ระบบจะเขียนการมอบหมายอีเมลแทนลงในไฟล์ .firebaserc ภายในไดเรกทอรีโปรเจ็กต์

ใช้ชื่อแทนโปรเจ็กต์

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

คำสั่ง คำอธิบาย
firebase use ดูรายการชื่อแทนที่กำหนดไว้ในปัจจุบันสำหรับไดเรกทอรีโปรเจ็กต์ของคุณ
firebase use \
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 ที่โฮสต์ในเครื่องได้ก่อนวันที่ ใช้งานได้จริง หากต้องการทดสอบเฉพาะฟีเจอร์บางอย่าง คุณสามารถใช้ รายการที่คั่นด้วยคอมมาในแฟล็กของคำสั่ง firebase serve

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

firebase serve --only hosting

จําลองโปรเจ็กต์โดยใช้ฟังก์ชัน HTTP ในเครื่อง

เรียกใช้คําสั่งใดก็ได้ต่อไปนี้จากไดเรกทอรีโปรเจ็กต์เพื่อจําลองโปรเจ็กต์โดยใช้ฟังก์ชัน HTTP ในเครื่อง

  • หากต้องการจำลองฟังก์ชัน HTTP และการโฮสต์สำหรับการทดสอบใน URL ภายใน ให้ใช้ คำสั่งต่อไปนี้

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • หากต้องการจําลองฟังก์ชัน HTTP เท่านั้น ให้ใช้คําสั่งต่อไปนี้

    firebase serve --only functions

ทดสอบจากอุปกรณ์อื่นในเครือข่ายเดียวกัน

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

firebase serve --host 0.0.0.0  // accepts requests to any host

ทำให้ใช้งานได้กับโปรเจ็กต์ Firebase

Firebase CLI จะจัดการการทําให้โค้ดและชิ้นงานใช้งานได้ในโปรเจ็กต์ Firebase ซึ่งรวมถึงการดำเนินการต่อไปนี้

  • เว็บไซต์ Firebase Hosting เวอร์ชันใหม่
  • Cloud Functions for Firebase ใหม่ อัปเดต หรือที่มีอยู่
  • สคีมาและเครื่องมือเชื่อมต่อใหม่หรือที่อัปเดตสำหรับ Firebase Data Connect
  • กฎสำหรับ Firebase Realtime Database
  • กฎสำหรับ Cloud Storage for Firebase
  • กฎสำหรับ Cloud Firestore
  • ดัชนีสำหรับ Cloud Firestore

หากต้องการทำให้โปรเจ็กต์ Firebase ใช้งานได้ ให้เรียกใช้คำสั่งต่อไปนี้จากโปรเจ็กต์ของคุณ ไดเรกทอรี:

firebase deploy

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

firebase deploy -m "Deploying the best new feature ever."

โปรดคำนึงถึงสิ่งต่อไปนี้เมื่อใช้คำสั่ง firebase deploy

  • หากต้องการทําให้ทรัพยากรใช้งานได้จากไดเรกทอรีโปรเจ็กต์ ไดเรกทอรีโปรเจ็กต์ต้องมีไฟล์ firebase.json ไฟล์นี้ ที่สร้างขึ้นโดยอัตโนมัติสำหรับคุณโดย firebase init

  • โดยค่าเริ่มต้น firebase deploy จะสร้างรุ่นสำหรับทรัพยากรที่ทำให้ใช้งานได้ทั้งหมด ในไดเรกทอรีโปรเจ็กต์ หากต้องการทำให้บริการหรือฟีเจอร์ Firebase ที่เฉพาะเจาะจงใช้งานได้ ใช้การทำให้ใช้งานได้บางส่วน

ความขัดแย้งของการทำให้ใช้งานได้สำหรับกฎความปลอดภัย

สำหรับ Firebase Realtime Database, Cloud Storage for Firebase และ Cloud Firestore คุณกำหนดกฎความปลอดภัยได้ในไดเรกทอรีโปรเจ็กต์ในเครื่องหรือในคอนโซล Firebase

อีกทางเลือกหนึ่งในการป้องกันความขัดแย้งของการทำให้ใช้งานได้คือ ใช้การทำให้ใช้งานได้บางส่วน และกำหนดกฎใน คอนโซล Firebase

โควต้าการทำให้ใช้งานได้

เป็นไปได้ (แต่ไม่น่าจะเกิดขึ้น) ที่คุณอาจใช้โควต้าที่จำกัดอัตราการดำเนินการหรือปริมาณของการดำเนินการทำให้ใช้งานได้ของ Firebase เกินโควต้า ตัวอย่างเช่น เมื่อ การทำให้ฟังก์ชันจำนวนมากใช้งานได้จำนวนมาก คุณอาจได้รับ HTTP 429 Quota ข้อความแสดงข้อผิดพลาด หากต้องการแก้ไขปัญหาดังกล่าว ให้ลองใช้การทําให้ใช้งานได้บางส่วน

ย้อนกลับการทำให้ใช้งานได้

คุณสามารถย้อนกลับการทำให้ใช้งานได้ของ Firebase Hosting จาก Firebase Hosting โดยเลือก การดำเนินการย้อนกลับสำหรับรุ่นที่ต้องการ

ขณะนี้ยังย้อนกลับรุ่นของกฎความปลอดภัยสำหรับ Firebase Realtime Database, Cloud Storage for Firebase หรือ Cloud Firestore

ทำให้บริการ Firebase บางอย่างใช้งานได้

หากต้องการทำให้บริการหรือฟีเจอร์ Firebase บางรายการใช้งานได้ ให้ใช้ รายการที่คั่นด้วยคอมมาในแฟล็กของคำสั่ง firebase deploy ตัวอย่างเช่น คำสั่งต่อไปนี้ทำให้เนื้อหา Firebase Hosting ใช้งานได้และ กฎความปลอดภัย Cloud Storage ข้อ

firebase deploy --only hosting,storage

ตารางต่อไปนี้แสดงบริการและฟีเจอร์ที่พร้อมใช้งานสำหรับการทําให้ใช้งานได้บางส่วน ชื่อใน Flag จะสอดคล้องกับคีย์ในไฟล์การกําหนดค่า firebase.json

ไวยากรณ์ของ Flag บริการหรือฟีเจอร์ที่ทําให้ใช้งานได้
--only hosting เนื้อหาภาษาFirebase Hosting
--only database กฎ Firebase Realtime Database รายการ
--only dataconnect สคีมาและเครื่องมือเชื่อมต่อ Firebase Data Connect รายการ
--only storage กฎ Cloud Storage for Firebase รายการ
--only firestore กฎ Cloud Firestore ข้อและจะจัดทำดัชนีสำหรับฐานข้อมูลที่กำหนดค่าทั้งหมด
--only functions Cloud Functions for Firebase (ใช้ธงนี้ในเวอร์ชันที่เฉพาะเจาะจงมากขึ้นได้)

ทำให้ฟังก์ชันที่เฉพาะเจาะจงใช้งานได้

เมื่อทำให้ฟังก์ชันใช้งานได้ คุณสามารถกำหนดเป้าหมายฟังก์ชันเฉพาะได้ เช่น

firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2

อีกทางเลือกหนึ่งคือการรวมฟังก์ชันเป็นกลุ่มการส่งออกในไฟล์ /functions/index.js ฟังก์ชันการจัดกลุ่มช่วยให้คุณทำให้ โดยใช้คำสั่งเดียว

ตัวอย่างเช่น คุณสามารถเขียนฟังก์ชันต่อไปนี้เพื่อกำหนด groupA และ groupB

var functions = require('firebase-functions/v1');

exports.groupA = {
  function1: functions.https.onRequest(...),
  function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');

ในตัวอย่างนี้ ไฟล์ functions/groupB.js แยกต่างหากจะมีฟังก์ชันเพิ่มเติมที่กําหนดฟังก์ชันใน groupB โดยเฉพาะ เช่น

var functions = require('firebase-functions/v1');

exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);

ในตัวอย่างนี้ คุณสามารถทำให้ฟังก์ชัน groupA ทั้งหมดใช้งานได้โดยเรียกใช้คำสั่งต่อไปนี้จากไดเรกทอรีโปรเจ็กต์

firebase deploy --only functions:groupA

หรือจะกําหนดเป้าหมายฟังก์ชันที่เฉพาะเจาะจงภายในกลุ่มโดยเรียกใช้คําสั่งต่อไปนี้ก็ได้

firebase deploy --only functions:groupA.function1,groupB.function4

ลบฟังก์ชัน

Firebase CLI รองรับคําสั่งและตัวเลือกต่อไปนี้สําหรับการลบฟังก์ชันที่ติดตั้งใช้งานไปก่อนหน้านี้

  • ลบฟังก์ชันทั้งหมดที่ตรงกับชื่อที่ระบุในทุกภูมิภาค:

    firebase functions:delete FUNCTION-1_NAME

  • ลบฟังก์ชันที่ระบุซึ่งทำงานในภูมิภาคที่ไม่ใช่ค่าเริ่มต้น

    firebase functions:delete FUNCTION-1_NAME --region REGION_NAME

  • ลบฟังก์ชันมากกว่า 1 รายการ:

    firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME

  • ลบกลุ่มฟังก์ชันที่ระบุ

    firebase functions:delete GROUP_NAME

  • ข้ามข้อความแจ้งการยืนยัน:

    firebase functions:delete FUNCTION-1_NAME --force

ตั้งค่างานที่ใช้สคริปต์ก่อนและหลังการทําให้ใช้งานได้

คุณสามารถเชื่อมต่อสคริปต์ Shell กับคำสั่ง firebase deploy เพื่อดำเนินการ งานล่วงหน้าหรือหลังการปรับใช้ ตัวอย่างเช่น สคริปต์การติดตั้งใช้งานล่วงหน้า แปลงโค้ด TypeScript เป็น JavaScript และ Hook ที่หลังจากติดตั้งใช้งานสามารถแจ้งเตือนได้ ผู้ดูแลเนื้อหาเว็บไซต์ใหม่จะทำให้ใช้งานได้กับ Firebase Hosting

หากต้องการตั้งค่า Hooks ที่นำส่งล่วงหน้าหรือหลังจากติดตั้งใช้งาน ให้เพิ่มสคริปต์ Bash ลงใน firebase.json คุณสามารถกำหนด สคริปต์สั้นๆ โดยตรงในไฟล์ firebase.json หรือคุณสามารถอ้างอิง ไฟล์ที่อยู่ในไดเรกทอรีโปรเจ็กต์

ตัวอย่างเช่น สคริปต์ต่อไปนี้คือนิพจน์ firebase.json สำหรับ งานหลังทำให้ใช้งานได้ที่ส่งข้อความ Slack เมื่อการทำให้ใช้งานได้เสร็จสมบูรณ์ไปยัง Firebase Hosting

"hosting": {
  // ...

  "postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
  "public": "public"
}

ไฟล์สคริปต์ messageSlack.sh อยู่ในไดเรกทอรีและรูปแบบของโปรเจ็กต์ ดังนี้

curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}'
     \https://SLACK_WEBHOOK_URL

คุณสามารถตั้งค่าฮุก predeploy และ postdeploy สำหรับ ชิ้นงานที่นำไปใช้ได้ โปรดทราบว่าการเรียกใช้ firebase deploy จะทริกเกอร์งานก่อนและหลังการทําให้ใช้งานได้ทั้งหมดที่กําหนดไว้ในไฟล์ firebase.json หากต้องการเรียกใช้เฉพาะงานที่เชื่อมโยงกับบริการ Firebase ที่เฉพาะเจาะจง ให้ใช้คำสั่งการทําให้ใช้งานได้บางส่วน

ทั้งฮุก predeploy และ postdeploy จะพิมพ์เอาต์พุตมาตรฐานและกระแสข้อผิดพลาดของสคริปต์ไปยังเทอร์มินัล สำหรับกรณีที่ส่งไม่สำเร็จ โปรดสังเกตข้อมูลต่อไปนี้

  • หากฮุกก่อนการทำให้ใช้งานได้ดำเนินการไม่สำเร็จตามที่คาดไว้ ระบบจะยกเลิกการทำให้ใช้งานได้
  • หากการทําให้ใช้งานได้ไม่สําเร็จไม่ว่าด้วยเหตุผลใดก็ตาม ระบบจะไม่ทริกเกอร์ฮุกหลังการทําให้ใช้งานได้

ตัวแปรสภาพแวดล้อม

ภายในสคริปต์ที่ทำงานในฮุกก่อนการทำให้ใช้งานได้และหลังการทำให้ใช้งานได้ จะมีตัวแปรสภาพแวดล้อมต่อไปนี้

  • $GCLOUD_PROJECT: รหัสโปรเจ็กต์ที่ใช้งานอยู่
  • $PROJECT_DIR: ไดเรกทอรีรากที่มีไฟล์ firebase.json
  • $RESOURCE_DIR: (สำหรับสคริปต์ hosting และ functions เท่านั้น) ตำแหน่งของไดเรกทอรีที่มี Hosting หรือ ทรัพยากร Cloud Functions รายการที่จะทำให้ใช้งานได้

จัดการอินสแตนซ์ Realtime Database หลายรายการ

โปรเจ็กต์ Firebase อาจมีอินสแตนซ์ Firebase Realtime Database หลายรายการ โดยค่าเริ่มต้น คำสั่ง CLI จะโต้ตอบกับอินสแตนซ์ฐานข้อมูลเริ่มต้น

แต่คุณสามารถโต้ตอบกับอินสแตนซ์ฐานข้อมูลที่ไม่ใช่ค่าเริ่มต้นได้โดยใช้ แฟล็ก --instance DATABASE_NAME คำสั่งต่อไปนี้รองรับ Flag --instance

  • firebase database:get
  • firebase database:profile
  • firebase database:push
  • firebase database:remove
  • firebase database:set
  • firebase database:update

ข้อมูลอ้างอิงเกี่ยวกับคำสั่ง

คำสั่งการดูแลระบบ CLI

คำสั่ง คำอธิบาย
help แสดงข้อมูลความช่วยเหลือเกี่ยวกับ CLI หรือคําสั่งที่เฉพาะเจาะจง
เริ่มต้น เชื่อมโยงและสร้างโปรเจ็กต์ Firebase ใหม่ในไดเรกทอรีปัจจุบัน คำสั่งนี้จะสร้าง firebase.json ในไดเรกทอรีปัจจุบัน
login ตรวจสอบสิทธิ์ CLI กับบัญชี Firebase ต้องมีสิทธิ์เข้าถึง เว็บเบราว์เซอร์
หากต้องการเข้าสู่ระบบ CLI ในสภาพแวดล้อมระยะไกลที่ไม่อนุญาตให้เข้าถึง localhost ให้ใช้ Flag --no-localhost
login:ci สร้างโทเค็นการตรวจสอบสิทธิ์สำหรับใช้ในแบบไม่โต้ตอบ สภาพแวดล้อมการใช้งาน
logout ออกจากระบบ CLI จากบัญชี Firebase
open เปิดเบราว์เซอร์ไปยังแหล่งข้อมูลโปรเจ็กต์ที่เกี่ยวข้อง
โปรเจ็กต์:รายการ แสดงรายการโปรเจ็กต์ Firebase ทั้งหมดที่คุณมีสิทธิ์เข้าถึง
การใช้งาน ตั้งค่าโปรเจ็กต์ Firebase ที่ใช้งานอยู่สําหรับ CLI
จัดการอีเมลแทนของโปรเจ็กต์

คำสั่งการจัดการโปรเจ็กต์

คำสั่ง คำอธิบาย
การจัดการโปรเจ็กต์ Firebase
projects:addfirebase เพิ่มทรัพยากร Firebase ไปยังโปรเจ็กต์ Google Cloud ที่มีอยู่
projects:create สร้างโปรเจ็กต์ Google Cloud ใหม่ จากนั้นเพิ่มทรัพยากร Firebase ลงในโปรเจ็กต์ใหม่
โปรเจ็กต์:รายการ แสดงรายการโปรเจ็กต์ Firebase ทั้งหมดที่คุณมีสิทธิ์เข้าถึง
การจัดการแอป Firebase (iOS, Android, เว็บ)
apps:create สร้างแอป Firebase ใหม่ในโปรเจ็กต์ที่ใช้งานอยู่
apps:list แสดงรายการแอป Firebase ที่ลงทะเบียนในโปรเจ็กต์ที่ใช้งานอยู่
แอป:sdkconfig พิมพ์การกำหนดค่าบริการของ Google ของแอป Firebase
setup:web เลิกใช้งานแล้ว ให้ใช้ apps:sdkconfig และระบุ web เป็นอาร์กิวเมนต์แพลตฟอร์มแทน
แสดงการกำหนดค่าบริการของ Google สำหรับเว็บแอป Firebase
การจัดการแฮชใบรับรอง SHA (Android เท่านั้น)
apps:android:sha:create \
SHA_HASH FIREBASE_APP_ID
เพิ่มแฮชใบรับรอง SHA ที่ระบุลงในแอป Firebase Android ที่ระบุ
apps:android:sha:ลบ \
SHA_HASH FIREBASE_APP_ID
ลบแฮชใบรับรอง SHA ที่ระบุออกจากแอป Firebase Android ที่ระบุ
apps:android:sha:list \
FIREBASE_APP_ID
แสดงแฮชใบรับรอง SHA สําหรับแอป Firebase Android ที่ระบุ

การติดตั้งใช้งานและการพัฒนาในเครื่อง

คำสั่งเหล่านี้ช่วยให้คุณใช้งานและโต้ตอบกับเว็บไซต์ Firebase Hosting ได้

คำสั่ง คำอธิบาย
ติดตั้งใช้งาน ติดตั้งใช้งานโค้ดและชิ้นงานจากไดเรกทอรีโปรเจ็กต์ไปยังโปรเจ็กต์ที่ใช้งานอยู่ สําหรับ Firebase Hosting คุณต้องใช้ไฟล์การกําหนดค่า firebase.json
serve เริ่มเว็บเซิร์ฟเวอร์ในเครื่องด้วยการกำหนดค่า Firebase Hosting สำหรับ Firebase Hosting ประเภท firebase.json ต้องระบุไฟล์การกำหนดค่า

คำสั่ง App Distribution รายการ

คำสั่ง คำอธิบาย
appdistribution:distribution \
--app FIREBASE_APP_ID
ทำให้บิลด์พร้อมใช้งานสำหรับผู้ทดสอบ
appdistribution:testers:add เพิ่มผู้ทดสอบไปยังโปรเจ็กต์
appdistribution:testers:remove นำผู้ทดสอบออกจากโปรเจ็กต์

คำสั่ง App Hosting

คำสั่ง คำอธิบาย
apphosting:backends:create \
--โครงการ PROJECT_ID \
--ตำแหน่ง REGION --แอป APP_ID
สร้างคอลเล็กชันทรัพยากรที่มีการจัดการซึ่งลิงก์กับโค้ดเบสเดียวที่ประกอบด้วยแบ็กเอนด์ App Hosting (ไม่บังคับ) ระบุ เว็บแอป Firebase ตามรหัสแอป Firebase
apphosting:backends:get \
BACKEND_ID \
--โครงการ PROJECT_ID \
--ตำแหน่ง REGION
เรียกข้อมูลรายละเอียดที่เจาะจง ซึ่งรวมถึง URL สาธารณะของแบ็กเอนด์
apphosting:backends:list \
--โครงการ PROJECT_ID
เรียกข้อมูลรายการแบ็กเอนด์ที่ใช้งานอยู่ทั้งหมดที่เชื่อมโยงกับโปรเจ็กต์
firebase apphosting:backends:delete \
BACKEND_ID \
--project PROJECT_ID \
--location REGION
ลบแบ็กเอนด์ออกจากโปรเจ็กต์
firebase apphosting:rollouts:create \
BACKEND_ID \
--git_branch BRANCH_NAME \
--git_commit COMMIT_ID
สร้างการเปิดตัวที่ทริกเกอร์ด้วยตนเอง
(ไม่บังคับ) ระบุคอมมิตล่าสุดไปยังสาขาหรือคอมมิตที่เฉพาะเจาะจง ถ้า ไม่มีตัวเลือก ข้อความแจ้งให้เลือกจากรายการสาขา
apphosting:secrets:set KEY --project PROJECT_ID \
--location REGION \
--data-file DATA_FILE_PATH
จัดเก็บเนื้อหาลับใน Secret Manager
ระบุเส้นทางไฟล์ที่จะอ่านข้อมูลลับ (ไม่บังคับ) กำหนดเป็น _ เพื่ออ่านข้อมูลลับจากอินพุตมาตรฐาน
apphosting:secrets:grantaccess KEY BACKEND_ID \
--project PROJECT_ID \
--location REGION
ให้สิทธิ์ แบ็กเอนด์ บัญชีบริการ เข้าถึงข้อมูลลับที่ให้ไว้เพื่อให้สามารถเข้าถึงโดย App Hosting ขณะสร้างหรือรันไทม์
apphosting:secrets:describe KEY \
--โปรเจ็กต์ PROJECT_ID
รับข้อมูลเมตาสำหรับข้อมูลลับและเวอร์ชันของข้อมูลลับ
firebase apphosting:secrets:access \
KEY[@version] \
--โปรเจ็กต์ PROJECT_ID
เข้าถึงค่าข้อมูลลับที่ระบุข้อมูลลับและเวอร์ชันของข้อมูลลับ เริ่มต้นด้วยการเข้าถึงเวอร์ชันล่าสุด

Authentication (การจัดการผู้ใช้) คำสั่ง

คำสั่ง คำอธิบาย
auth:export ส่งออกบัญชีผู้ใช้ของโปรเจ็กต์ที่ใช้งานอยู่เป็นไฟล์ JSON หรือ CSV ดูรายละเอียดเพิ่มเติมได้ที่หน้า auth:import และ auth:export
auth:import นําเข้าบัญชีผู้ใช้จากไฟล์ JSON หรือ CSV ไปยังโปรเจ็กต์ที่ใช้งานอยู่ ดูรายละเอียดเพิ่มเติมได้ที่ auth:IMPORT และ auth:export

คำสั่ง Cloud Firestore

คำสั่ง คำอธิบาย
firestore:locations

แสดงรายการตำแหน่งที่ใช้ได้สำหรับฐานข้อมูล Cloud Firestore

firestore:databases:create DATABASE_ID

สร้างอินสแตนซ์ฐานข้อมูลในโหมดเนทีฟในโปรเจ็กต์ Firebase

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

  • --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

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

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

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

firestore:indexes

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

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

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

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

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

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

  • --ฐานข้อมูล 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 สําหรับแอปนี้ และเชื่อมโยงกับรหัสไฟล์การแมปที่ประกาศไว้ในไฟล์ทรัพยากร Android (XML) ที่ระบุ
crashlytics:symbols:upload \
--app=FIREBASE_APP_ID \
PATH/TO/SYMBOLS
สร้างไฟล์สัญลักษณ์ที่เข้ากันได้กับ Crashlytics สำหรับไลบรารีเนทีฟ ขัดข้องบน Android และอัปโหลดไปยังเซิร์ฟเวอร์ Firebase

คำสั่ง Data Connect

คำสั่งเหล่านี้และกรณีการใช้งานมีรายละเอียดอยู่ในData Connectคู่มืออ้างอิง CLI

คำสั่ง คำอธิบาย
dataconnect:services:list แสดงรายการบริการ Data Connect ที่ติดตั้งใช้งานทั้งหมดในโปรเจ็กต์ Firebase
dataconnect:sql:diff \
SERVICE_ID
สำหรับบริการที่ระบุ จะแสดงความแตกต่างระหว่างสคีมาData Connectในเครื่องกับสคีมาฐานข้อมูล Cloud SQL
dataconnect:sql:Migration \
--force \
SERVICE_ID
ย้ายข้อมูลสคีมาของฐานข้อมูล Cloud SQL ให้ตรงกับสคีมาData Connectในเครื่อง
dataconnect:sql:grant\
--role=ROLE \
--email=EMAIL \
SERVICE_ID
มอบบทบาท SQL ให้กับอีเมลของผู้ใช้หรือบัญชีบริการที่ระบุ
สำหรับแฟล็ก --role บทบาท SQL ที่จะมอบให้คือบทบาทใดบทบาทหนึ่งต่อไปนี้ owner, writer หรือ reader
สำหรับแฟล็ก --email โปรดระบุอีเมลของ ผู้ใช้หรือบัญชีบริการที่จะมอบหมายบทบาทให้
dataconnect:sdk:generate สร้าง SDK ที่มีประเภทสําหรับเครื่องมือเชื่อมต่อ Data Connect

Extensions คำสั่ง

คำสั่ง คำอธิบาย
ต่อ แสดงข้อมูลเกี่ยวกับวิธีใช้คำสั่ง Firebase Extensions
แสดงรายการอินสแตนซ์ส่วนขยายที่ติดตั้งในโปรเจ็กต์ที่ใช้งานอยู่
ext:configure \
EXTENSION_INSTANCE_ID
กำหนดค่าค่าพารามิเตอร์ของอินสแตนซ์ส่วนขยายใหม่ใน ไฟล์ Manifest ของส่วนขยาย
ext:info \
PUBLISHER_ID/EXTENSION_ID
พิมพ์ข้อมูลโดยละเอียดเกี่ยวกับส่วนขยาย
ext:ติดตั้ง \
PUBLISHER_ID/EXTENSION_ID
เพิ่มอินสแตนซ์ใหม่ของส่วนขยายลงในไฟล์ Manifest ของส่วนขยาย
ext:list แสดงรายการอินสแตนซ์ส่วนขยายทั้งหมดที่ติดตั้งในโปรเจ็กต์ Firebase
พิมพ์รหัสอินสแตนซ์ของส่วนขยายแต่ละรายการ
ext:ถอนการติดตั้ง \
EXTENSION_INSTANCE_ID
นำอินสแตนซ์ส่วนขยายออกจาก ไฟล์ Manifest ของส่วนขยาย
ext:update \
EXTENSION_INSTANCE_ID
อัปเดตอินสแตนซ์ของส่วนขยายเป็นเวอร์ชันล่าสุดใน ไฟล์ Manifest ของส่วนขยาย
ext:ส่งออก ส่งออกอินสแตนซ์ส่วนขยายที่ติดตั้งทั้งหมดจากโปรเจ็กต์ไปยังไฟล์ Manifest ของส่วนขยาย

คำสั่งของผู้เผยแพร่โฆษณา Extensions รายการ

คำสั่ง คำอธิบาย
ext:dev:init เริ่มต้นโค้ดสแควร์โครงสําหรับส่วนขยายใหม่ในไดเรกทอรีปัจจุบัน
ext:dev:list \
PUBLISHER_ID
พิมพ์รายการส่วนขยายทั้งหมดที่อัปโหลดโดยผู้เผยแพร่
ext:dev:register ลงทะเบียนโปรเจ็กต์ Firebase เป็น ส่วนขยายผู้เผยแพร่โฆษณา
ext:dev:deprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
เลิกใช้งาน เวอร์ชันส่วนขยายที่ตรงกับเวอร์ชันภาคแสดง
ภาคแสดงเวอร์ชันสามารถเป็นเวอร์ชันเดียวได้ (เช่น 1.0.0) หรือช่วงของเวอร์ชัน (เช่น >1.0.0)
หากไม่ได้ระบุเวอร์ชันล่วงหน้า เลิกใช้งานส่วนขยายนั้นทุกเวอร์ชัน
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
เลิกใช้งาน เวอร์ชันส่วนขยายที่ตรงกับเวอร์ชันภาคแสดง
ภาคแสดงเวอร์ชันสามารถเป็นเวอร์ชันเดียวได้ (เช่น 1.0.0) หรือช่วงของเวอร์ชัน (เช่น >1.0.0)
หากไม่ได้ระบุเวอร์ชันล่วงหน้า ยกเลิกการเลิกใช้งานส่วนขยายนั้นทุกเวอร์ชัน
ext:dev:upload \
PUBLISHER_ID/EXTENSION_ID
อัปโหลดส่วนขยายเวอร์ชันใหม่
ext:dev:usage \
PUBLISHER_ID
แสดงจํานวนการติดตั้งและเมตริกการใช้งานสําหรับส่วนขยายที่อัปโหลดโดยผู้เผยแพร่โฆษณา

คำสั่ง Hosting

คำสั่ง คำอธิบาย
hosting:disable

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

URL Hosting ของโปรเจ็กต์จะแสดงข้อความ "ไม่พบเว็บไซต์" ข้อความ หลังจากเรียกใช้คำสั่งนี้

การจัดการเว็บไซต์ Hosting แห่ง
firebase Hosting:sites:create \
SITE_ID

สร้างเว็บไซต์ Hosting ใหม่ในโปรเจ็กต์ Firebase ที่ใช้งานอยู่โดยใช้ 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

สร้างช่องทางแสดงตัวอย่างใหม่ใน default 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 เพื่อสร้างอินสแตนซ์
ฐานข้อมูล:อินสแตนซ์:รายการ แสดงรายการอินสแตนซ์ฐานข้อมูลทั้งหมดสำหรับโปรเจ็กต์นี้ ยอมรับ ตัวเลือก --location สำหรับการแสดงรายการฐานข้อมูลใน ภูมิภาค สำหรับชื่อภูมิภาคที่จะใช้กับตัวเลือกนี้ โปรดดู เลือกตำแหน่งสำหรับโปรเจ็กต์
ฐานข้อมูล:โปรไฟล์ สร้างโปรไฟล์ของการดำเนินการบนฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ ดูรายละเอียดเพิ่มเติมได้ที่ประเภทการดำเนินการ Realtime Database
database:push พุชข้อมูลใหม่ไปยังรายการ ณ ตำแหน่งที่ระบุใน ฐานข้อมูลของโครงการ รับอินพุตจากไฟล์, STDIN หรืออาร์กิวเมนต์บรรทัดคำสั่ง
database:remove ลบข้อมูลทั้งหมดในตำแหน่งที่ระบุใน ฐานข้อมูล
ฐานข้อมูล:ชุด แทนที่ข้อมูลทั้งหมดในตำแหน่งที่ระบุในฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ รับอินพุตจากไฟล์, STDIN หรืออาร์กิวเมนต์บรรทัดคำสั่ง
ฐานข้อมูล:อัปเดต ทำการอัปเดตบางส่วนในตำแหน่งที่ระบุในฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่ รับอินพุตจากไฟล์, STDIN หรืออาร์กิวเมนต์บรรทัดคำสั่ง

Remote Config คำสั่ง

คำสั่ง คำอธิบาย
remoteconfig:versions:list \
--จำกัด NUMBER_OF_VERSIONS
แสดงรายการเทมเพลต 10 เวอร์ชันล่าสุด ระบุ 0 เพื่อแสดงผลเวอร์ชันที่มีอยู่ทั้งหมด หรือจะส่งตัวเลือก --limit เพื่อจำกัดจำนวนเวอร์ชันที่แสดงผลก็ได้
remoteconfig:get \
--v, version_number VERSION_NUMBER
--o, output FILENAME
รับเทมเพลตตามเวอร์ชัน (ค่าเริ่มต้นคือเวอร์ชันล่าสุด) และแสดงผลกลุ่มพารามิเตอร์ พารามิเตอร์ และชื่อเงื่อนไข รวมถึงเวอร์ชันเป็นตาราง คุณเขียนเอาต์พุตไปยังไฟล์ที่ระบุด้วย -o, FILENAME ได้ (ไม่บังคับ)
remoteconfig:rollback \
--v, version_number VERSION_NUMBER
--บังคับ
เปลี่ยนเทมเพลต Remote Config กลับเป็นเวอร์ชันก่อนหน้าที่ระบุหรือเป็นเวอร์ชันก่อนหน้าโดยตรง (เวอร์ชันปัจจุบัน -1) โดยค่าเริ่มต้น หากไม่ผ่าน --force ระบบจะแสดงข้อความใช่/ไม่ใช่ ก่อนที่จะทำการย้อนกลับ