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

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

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

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

ติดตั้ง Firebase CLI

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

Windows macOS Linux

Windows

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

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

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

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

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

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

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

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

npm

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

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

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

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

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

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

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

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

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

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

  1. ดาวน์โหลดไบนารี CLI สำหรับระบบปฏิบัติการของคุณ macOS | LinuxFirebase

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

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

npm

หากต้องการใช้ npm (ตัวจัดการแพ็กเกจ Node) เพื่อติดตั้ง 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 เวอร์ชันล่าสุด

โดยทั่วไปแล้ว คุณควรใช้ FirebaseCLI เวอร์ชันล่าสุด

วิธีอัปเดตเวอร์ชัน 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

ถอนการติดตั้ง Firebase CLI

วิธียกเลิกการติดตั้ง CLI จะขึ้นอยู่กับระบบปฏิบัติการและวิธีที่คุณ ติดตั้ง CLI

Windows

  • ไบนารีแบบสแตนด์อโลน: ลบไบนารี firebase.exe ที่คุณดาวน์โหลด
  • npm: เรียกใช้ npm uninstall -g firebase-tools

macOS

  • สคริปต์การติดตั้งอัตโนมัติ: เรียกใช้ curl -sL https://firebase.tools | uninstall=true bash

  • ไบนารีแบบสแตนด์อโลน: ลบไบนารี firebase ที่คุณดาวน์โหลด หากคุณเพิ่มตำแหน่งของไฟล์ลงในตัวแปรสภาพแวดล้อม PATH อย่าลืมนำออก

  • npm: เรียกใช้ npm uninstall -g firebase-tools

Linux

  • สคริปต์การติดตั้งอัตโนมัติ: เรียกใช้ curl -sL https://firebase.tools | uninstall=true bash

  • ไบนารีแบบสแตนด์อโลน: ลบไบนารี firebase ที่คุณดาวน์โหลด หากคุณเพิ่มตำแหน่งของไฟล์ลงในตัวแปรสภาพแวดล้อม PATH อย่าลืมนำออก

  • npm: เรียกใช้ npm uninstall -g firebase-tools

ใช้ CLI กับระบบ CI

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

(แนะนำ) ใช้ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน

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

(เดิม) ใช้ FIREBASE_TOKEN

หรือจะตรวจสอบสิทธิ์โดยใช้ FIREBASE_TOKEN ก็ได้ ซึ่งมีความปลอดภัยน้อยกว่า ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน และเราไม่แนะนำให้ใช้แล้ว

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

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

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

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

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

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

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

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

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

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

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

firebase init

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

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

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

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

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

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

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

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

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

ไฟล์ firebase.json

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

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

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

ไฟล์ firebase.json ต่อไปนี้เป็นตัวอย่างที่ครอบคลุมซึ่งแสดง ตัวเลือกการกำหนดค่าสำหรับบริการ Firebase หลายรายการ นอกจากนี้ยังแสดงฟีเจอร์ต่างๆ เช่น Cloud Functions หลายโค้ดเบส การตั้งค่า Local Emulator Suite และ เทมเพลต Remote Config โปรดทราบว่าไฟล์ firebase.json สำหรับโปรเจ็กต์ใดก็ตามจะมีเฉพาะการกำหนดค่าสำหรับบริการ Firebase ที่ตั้งค่าไว้สำหรับโปรเจ็กต์นั้นๆ (เช่น มีเฉพาะ Firebase Hosting และ Cloud Functions) การเพิ่มคีย์ $schema จะช่วยให้เปิดใช้การตรวจสอบและความสมบูรณ์อัตโนมัติในโปรแกรมแก้ไขโค้ดหลายโปรแกรม

    {
      "$schema": "https://raw.githubusercontent.com/firebase/firebase-tools/master/schema/firebase-config.json",
      "hosting": {
        "public": "public",
        "ignore": [
          "firebase.json",
          "**/.*",
          "**/node_modules/**"
        ],
        "cleanUrls": true,
        "trailingSlash": false
      },
      "apphosting": {
        "backendId": "my-app",
        "rootDir": "backend",
        "ignore": [
          "firebase.json",
          "**/.*",
          "**/node_modules/**"
        ]
      },
      "firestore": {
        "rules": "firestore.rules",
        "indexes": "firestore.indexes.json"
      },
      "storage": {
        "rules": "storage.rules"
      },
      "database": {
        "rules": "database.rules.json"
      },
      "dataconnect": {
        "source": "dataconnect",
        "location": "us-central1"
      },
      "functions": [
        {
          "source": "functions",
          "codebase": "default",
          "ignore": [
            "**/.*",
            "**/node_modules/**"
          ],
          "predeploy": [
            "npm --prefix \"$RESOURCE_DIR\" run lint",
            "npm --prefix \"$RESOURCE_DIR\" run build"
          ]
        }
      ],
      "emulators": {
        "auth": {
          "port": 9099
        },
        "functions": {
          "port": 5001
        },
        "firestore": {
          "port": 8080
        },
        "hosting": {
          "port": 5000
        },
        "storage": {
          "port": 9199
        },
        "ui": {
          "enabled": true,
          "port": 4000
        },
        "singleProjectMode": true
      },
      "extensions": {
        "my-storage-resizer": "firebase/storage-resize-images@^0.1.0"
      },
      "auth": {
        "providers": {
          "anonymous": true,
          "emailPassword": true,
          "googleSignIn": {
            "oAuthBrandDisplayName": "My App",
            "supportEmail": "support@myapp.com"
          }
        }
      },
      "remoteconfig": {
        "template": "remoteconfig.template.json"
      }
    }

แม้ว่าระบบจะใช้ 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 หนึ่งสำหรับการทดสอบ และอีกโปรเจ็กต์หนึ่ง สำหรับการใช้งานจริง การใช้สภาพแวดล้อมของโปรเจ็กต์ที่แตกต่างกันจะช่วยให้คุณยืนยันการเปลี่ยนแปลง ก่อนที่จะนำไปใช้งานจริงได้ คำสั่ง 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 ที่โฮสต์ไว้ในเครื่องได้ก่อน ที่จะนําไปใช้งานจริง หากต้องการทดสอบเฉพาะฟีเจอร์บางอย่าง คุณสามารถใช้ รายการที่คั่นด้วยคอมมาใน Flag ในคำสั่ง 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 SQL Connect
  • Security Rules ในราคา Firebase Realtime Database
  • Security Rules ในราคา Cloud Storage for Firebase
  • Security Rules ในราคา Cloud Firestore
  • ดัชนีสำหรับ Cloud Firestore
  • การกำหนดค่าสำหรับ Authentication

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

firebase deploy

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

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

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

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

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

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

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

firebase deploy --only hosting,storage

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

ไวยากรณ์ของ Flag บริการหรือฟีเจอร์ที่ใช้งาน
--only auth การกำหนดค่าผู้ให้บริการ Authentication
--only database Firebase Realtime Database Security Rules
--only dataconnect Firebase SQL Connect สคีมาและตัวเชื่อมต่อ
--only firestore Cloud Firestore Security Rules และดัชนีสำหรับฐานข้อมูลที่กำหนดค่าทั้งหมด
--only functions Cloud Functions for Firebase
--only hosting เนื้อหาภาษาFirebase Hosting
--only storage Cloud Storage for Firebase Security Rules
--only rulesเลิกใช้งานแล้ว

ความขัดแย้งในการติดตั้งใช้งานสำหรับ Security Rules

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

อีกทางเลือกหนึ่งในการหลีกเลี่ยงความขัดแย้งในการติดตั้งใช้งานคือใช้การติดตั้งใช้งานบางส่วนและกำหนดเฉพาะ Security Rules ใน คอนโซล Firebase

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

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

หากต้องการตั้งค่า Hook ก่อนหรือหลังการติดตั้งใช้งาน ให้เพิ่มสคริปต์ 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

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

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

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

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

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

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

โควต้าการติดตั้งใช้งาน

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

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

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

คุณไม่สามารถย้อนรุ่นของ Security Rules สำหรับ Firebase Realtime Database, Cloud Storage for Firebase หรือ Cloud Firestore

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

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

สั่ง คำอธิบาย
ความช่วยเหลือ แสดงข้อมูลความช่วยเหลือเกี่ยวกับ CLI หรือคำสั่งที่เฉพาะเจาะจง
init เชื่อมโยงและตั้งค่าโปรเจ็กต์ Firebase ใหม่ในไดเรกทอรีปัจจุบัน คำสั่งนี้จะสร้างไฟล์การกำหนดค่า firebase.json ในไดเรกทอรีปัจจุบัน
login ตรวจสอบสิทธิ์ CLI ด้วยบัญชี Google ต้องมีสิทธิ์เข้าถึง เว็บเบราว์เซอร์
หากต้องการเข้าสู่ระบบ CLI ในสภาพแวดล้อมระยะไกลที่ไม่อนุญาตให้เข้าถึง localhost ให้ใช้แฟล็ก --no-localhost
login:ci สร้างโทเค็นการตรวจสอบสิทธิ์เพื่อใช้ในสภาพแวดล้อมที่ไม่ใช่แบบอินเทอร์แอกทีฟ
login:add เข้าสู่ระบบบัญชี Google อื่น
login:list แสดงรายการบัญชี Google ทั้งหมดที่ได้รับการตรวจสอบสิทธิ์
login:use ตั้งค่าบัญชี Google ที่ใช้งานอยู่
ออกจากระบบ ออกจากระบบบัญชี Google จาก CLI
เปิด เปิดเบราว์เซอร์ไปยังแหล่งข้อมูลโปรเจ็กต์ที่เกี่ยวข้อง
projects:list แสดงโปรเจ็กต์ Firebase ทั้งหมดที่คุณมีสิทธิ์เข้าถึง
ใช้ ตั้งค่าโปรเจ็กต์ 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 Web App
การจัดการแฮชใบรับรอง SHA (Android เท่านั้น)
apps:android:sha:create \
FIREBASE_APP_ID SHA_HASH
เพิ่มแฮชใบรับรอง SHA ที่ระบุไปยัง แอป Android ของ Firebase ที่ระบุ
apps:android:sha:delete \
FIREBASE_APP_ID SHA_HASH
ลบแฮชใบรับรอง SHA ที่ระบุออกจาก แอป Android ของ Firebase ที่ระบุ
apps:android:sha:list \
FIREBASE_APP_ID
แสดงรายการแฮชใบรับรอง SHA สำหรับ แอป Firebase Android ที่ระบุ

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

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

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

App Distribution คำสั่ง

สั่ง คำอธิบาย
appdistribution:distribute \
--app FIREBASE_APP_ID
ทำให้ผู้ทดสอบเข้าถึงบิลด์ได้
appdistribution:testers:add เพิ่มผู้ทดสอบลงในโปรเจ็กต์
appdistribution:testers:remove นำผู้ทดสอบออกจากโปรเจ็กต์
appdistribution:testers:list แสดงรายชื่อผู้ทดสอบในโปรเจ็กต์
appdistribution:groups:create สร้างกลุ่มผู้ทดสอบ
appdistribution:groups:delete ลบกลุ่มผู้ทดสอบ
appdistribution:groups:list แสดงรายการกลุ่มผู้ทดสอบในโปรเจ็กต์

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 BACKEND_ID \
--emails EMAILS \
--project PROJECT_ID \
--location REGION
ให้สิทธิ์แก่ข้อมูลลับที่ระบุแก่ บัญชีบริการ ผู้ใช้ หรือกลุ่ม เพื่อให้ App Hosting เข้าถึงได้ในเวลาสร้าง หรือรันไทม์ ส่งค่าลับอย่างน้อย 1 รายการโดยคั่นด้วยคอมมา
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

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

  • --location <ชื่อภูมิภาค> เพื่อระบุ ตำแหน่งการติดตั้งใช้งานสำหรับฐานข้อมูล โปรดทราบว่าคุณเรียกใช้ firebase firestore:locations เพื่อแสดงรายการสถานที่ตั้งที่พร้อมใช้งานได้ ต้องระบุ
  • --delete-protection <deleteProtectionState> เพื่ออนุญาตหรือป้องกันการลบฐานข้อมูลที่ระบุ ค่าที่ใช้ได้คือ ENABLED หรือ DISABLED ค่าเริ่มต้นคือ DISABLED
  • --point-in-time-recovery <PITRState> เพื่อ ตั้งค่าว่าจะเปิดใช้การกู้คืนช่วงเวลาหรือไม่ ค่าที่ใช้ได้คือ ENABLED หรือ DISABLED ค่าเริ่มต้นคือ DISABLED ไม่บังคับ
  • --edition <edition> เพื่อระบุระดับฐานข้อมูล สำหรับฟีเจอร์ Enterprise ให้ตั้งค่าเป็น enterprise
  • --firestore-data-access <ENABLED|DISABLED> (เฉพาะองค์กร) เพื่อควบคุมความพร้อมใช้งานของ Firestore API ค่าเริ่มต้นคือ ENABLED
  • --mongodb-compatible-data-access <ENABLED|DISABLED> (Enterprise เท่านั้น) เพื่อควบคุมความพร้อมใช้งานของ API ที่เข้ากันได้กับ MongoDB ค่าเริ่มต้นคือ DISABLED
  • --realtime-updates <ENABLED|DISABLED> (เฉพาะองค์กร) เพื่อเปิดหรือปิดใช้ฟีเจอร์ "ดู" (เรียลไทม์) ต้องมี --firestore-data-access เป็น ENABLED ค่าเริ่มต้นคือ ENABLED
firestore:databases:list

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

firestore:databases:get DATABASE_ID

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

สำหรับฐานข้อมูล Enterprise เอาต์พุตจะมีสถานะ Edition, Firestore Data Access, MongoDB Compatible Data Access และ Realtime Updates

firestore:databases:update DATABASE_ID

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

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

  • --delete-protection <deleteProtectionState> เพื่ออนุญาตหรือป้องกันการลบฐานข้อมูลที่ระบุ ค่าที่ใช้ได้คือ ENABLED หรือ DISABLED ค่าเริ่มต้นคือ DISABLED
  • --point-in-time-recovery <PITRState> เพื่อ ตั้งค่าว่าจะเปิดใช้การกู้คืนช่วงเวลาหรือไม่ ค่าที่ใช้ได้คือ ENABLED หรือ DISABLED ค่าเริ่มต้นคือ DISABLED ไม่บังคับ
  • --firestore-data-access <ENABLED|DISABLED> (เฉพาะองค์กร) เพื่อควบคุมความพร้อมใช้งานของ Firestore API
  • --mongodb-compatible-data-access <ENABLED|DISABLED> (Enterprise เท่านั้น) เพื่อควบคุมความพร้อมใช้งานของ API ที่เข้ากันได้กับ MongoDB
  • --realtime-updates <ENABLED|DISABLED> (เฉพาะองค์กร) เพื่อเปิดหรือปิดใช้ฟีเจอร์ "ดู" (เรียลไทม์) ต้องมี --firestore-data-access เป็น ENABLED
firestore:databases:delete DATABASE_ID

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

firestore:indexes

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

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

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

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

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

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

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

Cloud Functions for Firebase คำสั่ง

สั่ง คำอธิบาย
functions:config:clone เลิกใช้งานแล้ว
โคลนสภาพแวดล้อมของโปรเจ็กต์อื่น ลงในโปรเจ็กต์ Firebase ที่ใช้งานอยู่
functions:config:export ส่งออกการกำหนดค่ารันไทม์ของโปรเจ็กต์ที่ใช้งานอยู่ไปยัง Google Cloud Secret Manager
functions:config:get เลิกใช้งานแล้ว
ดึงค่าการกำหนดค่าที่มีอยู่ของ Cloud Functions ของโปรเจ็กต์ที่ใช้งานอยู่
functions:config:set เลิกใช้งานแล้ว
จัดเก็บค่าการกำหนดค่ารันไทม์ ของ Cloud Functions ของโปรเจ็กต์ที่ใช้งานอยู่
functions:config:unset เลิกใช้งานแล้ว
นำค่าออกจาก การกำหนดค่ารันไทม์ของโปรเจ็กต์ที่ใช้งานอยู่
functions:delete \
FUNCTION_NAME
ลบฟังก์ชันที่ระบุ
functions:list แสดงรายการฟังก์ชันที่ทำให้ใช้งานได้
functions:log อ่านบันทึกจาก Cloud Functions ที่ติดตั้งใช้งาน
functions:secrets:access \
SECRET_NAME
เข้าถึงค่าข้อมูลลับโดยระบุข้อมูลลับและเวอร์ชันของข้อมูลลับ
functions:secrets:destroy \
SECRET_NAME
ทำลายข้อมูลลับ
functions:secrets:get \
SECRET_NAME
รับข้อมูลเมตาสำหรับข้อมูลลับและเวอร์ชันของข้อมูลลับ
functions:secrets:prune ทำลายข้อมูลลับที่ไม่ได้ใช้
functions:secrets:set \
SECRET_NAME
สร้างหรืออัปเดตข้อมูลลับ
functions:shell เริ่มเชลล์แบบอินเทอร์แอกทีฟในเครื่องเพื่อทดสอบฟังก์ชัน

ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบการกำหนดค่า สภาพแวดล้อม

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

SQL Connect คำสั่ง

คำสั่งเหล่านี้และกรณีการใช้งานจะอธิบายไว้โดยละเอียดในSQL Connectคู่มืออ้างอิง CLI

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

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

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

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

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

firebase hosting:sites:delete \
SITE_ID

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

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

(ไม่บังคับ) ข้ามข้อความยืนยันโดยส่งการตั้งค่าสถานะต่อไปนี้ -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

Deploy Hosting content and config to the specified preview channel

หากยังไม่มีช่องตัวอย่าง คำสั่งนี้จะสร้างช่องในเว็บไซต์ default Hosting ก่อนที่จะนำไปใช้กับช่อง

firebase hosting:channel:list แสดงรายการช่องทั้งหมด (รวมถึงช่อง "live") ในเว็บไซต์เริ่มต้น 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ที่เฉพาะเจาะจง

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

สั่ง คำอธิบาย
database:get ดึงข้อมูลจากฐานข้อมูลของโปรเจ็กต์ที่ใช้งานอยู่และแสดงเป็น JSON รองรับการค้นหาในข้อมูลที่จัดทำดัชนี
database:instances:create สร้างอินสแตนซ์ฐานข้อมูลที่มีชื่ออินสแตนซ์ที่ระบุ ยอมรับ--locationตัวเลือกในการสร้างฐานข้อมูลในภูมิภาคที่ระบุ ดูชื่อภูมิภาคที่จะใช้กับตัวเลือกนี้ได้ที่ เลือกสถานที่ตั้งสำหรับโปรเจ็กต์ หากไม่มีอินสแตนซ์ฐานข้อมูลสำหรับโปรเจ็กต์ปัจจุบัน ระบบจะแจ้งให้คุณ เรียกใช้โฟลว์ firebase init เพื่อสร้างอินสแตนซ์
database:instances:list แสดงรายการอินสแตนซ์ฐานข้อมูลทั้งหมดสำหรับโปรเจ็กต์นี้ ยอมรับ --location option สำหรับการแสดงฐานข้อมูลใน ภูมิภาคที่ระบุ ดูชื่อภูมิภาคที่จะใช้กับตัวเลือกนี้ได้ที่ เลือกสถานที่ตั้งสำหรับโปรเจ็กต์
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 ก่อนดำเนินการย้อนกลับ
remoteconfig:experiments:list \
--filter EXPRESSION
--pageSize NUMBER
--pageToken TOKEN
แสดงรายการRemote Configการทดสอบทั้งหมดของโปรเจ็กต์ พร้อมการกรองที่ไม่บังคับ จำนวนการทดสอบที่จะแสดงต่อหน้า (ค่าเริ่มต้นคือ 10) และโทเค็นหน้าเป็นออฟเซ็ตเริ่มต้นของรายการ
remoteconfig:experiments:get \
EXPERIMENT_ID
รับรายละเอียดของRemote Configการทดสอบที่ระบุ
remoteconfig:experiments:delete \
EXPERIMENT_ID
ลบRemote Configการทดสอบที่ระบุ
remoteconfig:rollouts:list \
--filter EXPRESSION
--pageSize NUMBER
--pageToken TOKEN
แสดงรายการRemote Configการเปิดตัวทั้งหมดสำหรับโปรเจ็กต์ โดยมีตัวเลือก การกรอง จำนวนการเปิดตัวที่จะแสดงต่อหน้า (ค่าเริ่มต้นคือ 10) และ โทเค็นหน้าเป็นออฟเซ็ตเริ่มต้นสำหรับรายการ
remoteconfig:rollouts:get \
ROLLOUT_ID
รับรายละเอียดของRemote ConfigการเปิดตัวRemote Configที่ระบุ
remoteconfig:rollouts:delete \
ROLLOUT_ID
ลบRemote Configการเปิดตัวที่ระบุ