ข้อมูลอ้างอิง 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. ดาวน์โหลดไบนารีของ Firebase CLI สำหรับ Windows

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

  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

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

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

  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 เวอร์ชันล่าสุด

โดยทั่วไปแล้ว คุณควรใช้ 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 ที่เฉพาะเจาะจง คุณสามารถใช้ รายการที่คั่นด้วยคอมมาใน Flag ในคำสั่ง 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

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

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

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

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

คุณเชื่อมต่อสคริปต์เชลล์กับคำสั่ง firebase deploy เพื่อดำเนินการ งานก่อนการติดตั้งใช้งานหรือหลังการติดตั้งใช้งานได้ ตัวอย่างเช่น สคริปต์ก่อนการติดตั้งใช้งานอาจทำการ Transpile โค้ด TypeScript เป็น JavaScript และ Hook หลังการติดตั้งใช้งานอาจแจ้งเตือนผู้ดูแลระบบเกี่ยวกับการติดตั้งใช้งานเนื้อหาเว็บไซต์ใหม่ไปยัง 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 ทำงานไม่เสร็จตามที่คาดไว้ ระบบจะยกเลิกการทำให้ใช้งานได้
  • หากการติดตั้งใช้งานล้มเหลวไม่ว่าด้วยเหตุผลใดก็ตาม ระบบจะไม่ทริกเกอร์ฮุกหลังการติดตั้งใช้งาน

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

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

  • $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 ที่ใช้งานอยู่
logout ออกจากระบบบัญชี Google จาก CLI
เปิด เปิดเบราว์เซอร์ไปยังแหล่งข้อมูลของโปรเจ็กต์ที่เกี่ยวข้อง
projects:list แสดงโปรเจ็กต์ Firebase ทั้งหมดที่คุณมีสิทธิ์เข้าถึง
ใช้ ตั้งค่าโปรเจ็กต์ Firebase ที่ใช้งานอยู่สำหรับ CLI
จัดการนามแฝงของโปรเจ็กต์

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

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

การติดตั้งใช้งานและการพัฒนาในพื้นที่

คำสั่งเหล่านี้ช่วยให้คุณติดตั้งใช้งานและโต้ตอบกับ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
สร้างการเปิดตัวที่ทริกเกอร์ด้วยตนเอง
ระบุการคอมมิตล่าสุดไปยัง Branch หรือการคอมมิตที่เฉพาะเจาะจง (ไม่บังคับ) หากไม่มีตัวเลือกใดๆ ให้เลือก ระบบจะแสดงรายการสาขาให้เลือก
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> (Enterprise เท่านั้น) เพื่อควบคุมความพร้อมใช้งานของ Firestore API ค่าเริ่มต้นคือ ENABLED
  • --mongodb-compatible-data-access <ENABLED|DISABLED> (Enterprise เท่านั้น) เพื่อควบคุมความพร้อมใช้งานของ API ที่เข้ากันได้กับ MongoDB ค่าเริ่มต้นคือ DISABLED
  • --realtime-updates <ENABLED|DISABLED> (Enterprise เท่านั้น) เพื่อเปิดหรือปิดใช้ฟีเจอร์ "ดู" (เรียลไทม์) ต้องมี --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> (Enterprise เท่านั้น) เพื่อควบคุมความพร้อมใช้งานของ Firestore API
  • --mongodb-compatible-data-access <ENABLED|DISABLED> (Enterprise เท่านั้น) เพื่อควบคุมความพร้อมใช้งานของ API ที่เข้ากันได้กับ MongoDB
  • --realtime-updates <ENABLED|DISABLED> (Enterprise เท่านั้น) เพื่อเปิดหรือปิดใช้ฟีเจอร์ "ดู" (เรียลไทม์) ต้องมี --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 ที่ใช้งานอยู่ซึ่งมีFirebase Hosting การเข้าชม

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

นำ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

โคลนเวอร์ชันที่ระบุไปยังช่อง "เป้าหมาย" ที่ระบุ

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

คุณดู 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 สำหรับการแสดงฐานข้อมูลใน ภูมิภาคที่ระบุ ดูชื่อภูมิภาคที่จะใช้กับตัวเลือกนี้ได้ที่เลือกสถานที่ตั้งสำหรับโปรเจ็กต์
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การเปิดตัวที่ระบุ
remoteconfig:rollouts:delete \
ROLLOUT_ID
ลบการเปิดตัว Remote Config ที่ระบุ