Firebase सीएलआई रेफ़रंस

Firebase सीएलआई (GitHub) में, Firebase प्रोजेक्ट को मैनेज करने, देखने, और उनमें डिप्लॉय करने के लिए कई तरह के टूल मिलते हैं.

Firebase सीएलआई का इस्तेमाल करने से पहले, Firebase प्रोजेक्ट सेट अप करें.

सीएलआई को सेट अप या अपडेट करना

Firebase सीएलआई को इंस्टॉल करें

Firebase सीएलआई को ऐसे तरीके का इस्तेमाल करके इंस्टॉल किया जा सकता है जो आपके ऑपरेटिंग सिस्टम, अनुभव के लेवल, और/या इस्तेमाल के उदाहरण से मेल खाता हो. सीएलआई को चाहे किसी भी तरह से इंस्टॉल किया गया हो, आपके पास उन सुविधाओं और firebase कमांड का ऐक्सेस होगा.

Windows macOS Linux

Windows

इनमें से किसी एक विकल्प का इस्तेमाल करके, Windows के लिए Firebase सीएलआई को इंस्टॉल किया जा सकता है:

विकल्प जानकारी इनके लिए सुझाव दिया जाता है...
स्टैंडअलोन बाइनरी सीएलआई के लिए स्टैंडअलोन बाइनरी डाउनलोड करें. इसके बाद, एक शेल खोलने के लिए एक्ज़ीक्यूटेबल को ऐक्सेस किया जा सकता है. इस शेल में firebase कमांड दिया जा सकता है. नए डेवलपर

डेवलपर जो Node.js का इस्तेमाल नहीं कर रहे हैं या जिनके बारे में आपको नहीं पता है
एनपीएम सीएलआई को इंस्टॉल करने और दुनिया भर में उपलब्ध firebase कमांड को चालू करने के लिए, npm (नोड पैकेज मैनेजर) का इस्तेमाल करें. Node.js का इस्तेमाल करने वाले डेवलपर

स्टैंडअलोन बाइनरी

Firebase सीएलआई के लिए बाइनरी डाउनलोड करने और चलाने के लिए, यह तरीका अपनाएं:

  1. Windows के लिए Firebase सीएलआई बाइनरी डाउनलोड करें.

  2. बाइनरी को ऐक्सेस करके एक शेल खोलें, जहां firebase कमांड चलाया जा सकता है.

  3. लॉग इन करें और सीएलआई की जांच करें पर जाएं.

एनपीएम

Firebase सीएलआई को इंस्टॉल करने के लिए npm (नोड पैकेज मैनेजर) का इस्तेमाल करने के लिए, यह तरीका अपनाएं:

  1. nvm-Windows (नोड वर्शन मैनेजर) का इस्तेमाल करके, Node.js इंस्टॉल करें. Node.js को इंस्टॉल करने से npm कमांड टूल अपने-आप इंस्टॉल हो जाते हैं.

  2. नीचे दिए गए निर्देश की मदद से, npm से Firebase सीएलआई को इंस्टॉल करें:

    npm install -g firebase-tools

    इस निर्देश से, दुनिया भर में उपलब्ध firebase कमांड चालू हो जाता है.

  3. लॉग इन करें और सीएलआई की जांच करें पर जाएं.

macOS या Linux

macOS या Linux के लिए, Firebase सीएलआई को इंस्टॉल करने के लिए, इनमें से किसी एक विकल्प का इस्तेमाल किया जा सकता है:

विकल्प जानकारी इनके लिए सुझाव दिया जाता है...
ऑटोमैटिक इंस्टॉल स्क्रिप्ट एक निर्देश दें, जो आपके ऑपरेटिंग सिस्टम का अपने-आप पता लगाता है, नई सीएलआई रिलीज़ डाउनलोड करता है, फिर दुनिया भर में उपलब्ध firebase कमांड को चालू करता है. नए डेवलपर

ऐसे डेवलपर जो Node.js का इस्तेमाल नहीं कर रहे हैं या जिनके बारे में उन्हें नहीं पता है

CI/CD प्लैटफ़ॉर्म में अपने-आप डिप्लॉय होने की सुविधा
स्टैंडअलोन बाइनरी सीएलआई के लिए स्टैंडअलोन बाइनरी डाउनलोड करें. इसके बाद, बाइनरी को अपने वर्कफ़्लो के हिसाब से कॉन्फ़िगर करके चलाया जा सकता है. सीएलआई का इस्तेमाल करके, अपने हिसाब से वर्कफ़्लो बनाएं
एनपीएम सीएलआई को इंस्टॉल करने और दुनिया भर में उपलब्ध firebase कमांड को चालू करने के लिए, npm (नोड पैकेज मैनेजर) का इस्तेमाल करें. Node.js का इस्तेमाल करने वाले डेवलपर

अपने-आप इंस्टॉल होने की स्क्रिप्ट

अपने-आप इंस्टॉल होने की स्क्रिप्ट का इस्तेमाल करके, Firebase सीएलआई इंस्टॉल करने के लिए, यह तरीका अपनाएं:

  1. नीचे दिए गए cURL निर्देश को चलाएं:

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

    यह स्क्रिप्ट आपके ऑपरेटिंग सिस्टम का अपने-आप पता लगाकर, Firebase का नया सीएलआई रिलीज़ डाउनलोड करती है. इसके बाद, दुनिया भर में उपलब्ध firebase कमांड को चालू करती है.

  2. लॉग इन करें और सीएलआई की जांच करें पर जाएं.

अपने-आप इंस्टॉल होने वाली स्क्रिप्ट के ज़्यादा उदाहरणों और जानकारी के लिए, firebase.tools पर स्क्रिप्ट का सोर्स कोड देखें.

स्टैंडअलोन बाइनरी

अगर आपको अपने ओएस के लिए खास तौर पर बने Firebase सीएलआई को डाउनलोड करना है और चलाना है, तो यह तरीका अपनाएं:

  1. अपने ओएस के लिए, Firebase सीएलआई बाइनरी डाउनलोड करें: macOS | Linux

  2. (ज़रूरी नहीं) दुनिया भर में उपलब्ध firebase कमांड को सेट अप करें.

    1. chmod +x ./firebase_tools चलाकर बाइनरी को एक्ज़ीक्यूटेबल बनाएं.
    2. अपने PATH में बाइनरी का पाथ जोड़ें.
  3. लॉग इन करें और सीएलआई की जांच करें पर जाएं.

एनपीएम

अगर आपको Firebase सीएलआई इंस्टॉल करने के लिए npm (नोड पैकेज मैनेजर) का इस्तेमाल करना है, तो यह तरीका अपनाएं:

  1. nvm (नोड वर्शन मैनेजर) का इस्तेमाल करके Node.js इंस्टॉल करें.
    Node.js को इंस्टॉल करने से npm कमांड टूल अपने-आप इंस्टॉल हो जाते हैं.

  2. नीचे दिए गए निर्देश की मदद से, npm से Firebase सीएलआई को इंस्टॉल करें:

    npm install -g firebase-tools

    इस निर्देश से, दुनिया भर में उपलब्ध firebase कमांड चालू हो जाता है.

  3. लॉग इन करें और सीएलआई की जांच करें पर जाएं.

लॉग इन करें और Firebase सीएलआई की जांच करें

सीएलआई इंस्टॉल करने के बाद, आपको पुष्टि करनी होगी. इसके बाद, Firebase प्रोजेक्ट की सूची बनाकर पुष्टि करने की पुष्टि की जा सकती है.

  1. नीचे दिए गए कमांड को चलाकर, अपने Google खाते का इस्तेमाल करके Firebase में लॉग इन करें:

    firebase login

    यह निर्देश आपकी लोकल मशीन को Firebase से कनेक्ट करता है और आपको Firebase प्रोजेक्ट का ऐक्सेस देता है.

  2. अपने Firebase प्रोजेक्ट की सूची बनाकर जांच करें कि सीएलआई सही तरीके से इंस्टॉल है और आपके खाते को ऐक्सेस करता है. नीचे दिए गए निर्देश का इस्तेमाल करें:

    firebase projects:list

    दिखाई गई सूची और Firebase कंसोल में दिए गए Firebase प्रोजेक्ट एक जैसे होने चाहिए.

सबसे नए सीएलआई वर्शन में अपडेट करें

आम तौर पर, आपको Firebase के अप-टू-डेट सीएलआई वर्शन का इस्तेमाल करना होता है.

सीएलआई वर्शन को अपडेट करने का तरीका, आपके ऑपरेटिंग सिस्टम और सीएलआई को इंस्टॉल करने के तरीके पर निर्भर करता है.

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 सीएलआई की पुष्टि करने के लिए ब्राउज़र की ज़रूरत होती है, लेकिन सीएलआई, सीआई और बिना ग्राफ़िक यूज़र इंटरफ़ेस वाले दूसरे एनवायरमेंट के साथ पूरी तरह से काम करता है.

  1. ब्राउज़र वाली मशीन पर, Firebase सीएलआई इंस्टॉल करें.

  2. निम्न आदेश चलाकर प्रवेश प्रक्रिया प्रारंभ करें:

    firebase login:ci
  3. दिए गए यूआरएल पर जाएं, फिर Google खाते का इस्तेमाल करके लॉग इन करें.

  4. नया रीफ़्रेश टोकन प्रिंट करें. इससे मौजूदा सीएलआई सेशन पर कोई असर नहीं पड़ेगा.

  5. आउटपुट टोकन को अपने सीआई सिस्टम में सुरक्षित, लेकिन ऐक्सेस किए जा सकने वाले तरीके से स्टोर करें.

  6. firebase निर्देश चलाते समय इस टोकन का इस्तेमाल करें. नीचे दिए गए दो विकल्पों में से किसी एक का इस्तेमाल किया जा सकता है:

    • पहला विकल्प: टोकन को एनवायरमेंट वैरिएबल के तौर पर सेव करें FIREBASE_TOKEN. आपका सिस्टम अपने-आप टोकन का इस्तेमाल करेगा.

    • दूसरा विकल्प: अपने सीआई सिस्टम में --token TOKEN फ़्लैग के साथ सभी firebase कमांड चलाएं.
      टोकन लोड होने के लिए यह प्राथमिकता का क्रम है: फ़्लैग, एनवायरमेंट वैरिएबल, पसंदीदा Firebase प्रोजेक्ट.

Firebase प्रोजेक्ट शुरू करना

सीएलआई का इस्तेमाल करके किए जाने वाले कई सामान्य कामों के लिए प्रोजेक्ट डायरेक्ट्री होना ज़रूरी है. जैसे, किसी Firebase प्रोजेक्ट में डिप्लॉय करना. आप firebase init कमांड का इस्तेमाल करके, प्रोजेक्ट डायरेक्ट्री बनाते हैं. आम तौर पर, प्रोजेक्ट डायरेक्ट्री, आपके सोर्स कंट्रोल रूट जैसी ही डायरेक्ट्री होती है. firebase init चलाने के बाद, डायरेक्ट्री में एक firebase.json कॉन्फ़िगरेशन फ़ाइल शामिल होती है.

नया Firebase प्रोजेक्ट शुरू करने के लिए, अपने ऐप्लिकेशन की डायरेक्ट्री में यह कमांड चलाएं:

firebase init

firebase init कमांड में, आपको अपने प्रोजेक्ट डायरेक्ट्री और कुछ Firebase प्रॉडक्ट को सेट अप करने का तरीका बताया जाता है. प्रोजेक्ट शुरू करने के दौरान, Firebase सीएलआई आपको ये टास्क पूरे करने के लिए कहता है:

  • अपने Firebase प्रोजेक्ट में सेट अप करने के लिए, अपनी पसंद के Firebase प्रॉडक्ट चुनें.

    यह चरण आपको चुने गए प्रॉडक्ट की खास फ़ाइलों के लिए कॉन्फ़िगरेशन सेट करने के लिए कहता है. इन कॉन्फ़िगरेशन के बारे में ज़्यादा जानकारी के लिए, खास प्रॉडक्ट के दस्तावेज़ देखें (उदाहरण के लिए, होस्टिंग). ध्यान दें कि Firebase के ज़्यादा प्रॉडक्ट सेट अप करने के लिए, firebase init को कभी भी चलाया जा सकता है.

  • डिफ़ॉल्ट Firebase प्रोजेक्ट चुनें.

    यह चरण, मौजूदा प्रोजेक्ट डायरेक्ट्री को Firebase प्रोजेक्ट से जोड़ता है. इससे, प्रोजेक्ट के हिसाब से दिए जाने वाले निर्देश (जैसे, firebase deploy) सही Firebase प्रोजेक्ट के लिए काम करते हैं.

    एक ही प्रोजेक्ट डायरेक्ट्री के साथ कई Firebase प्रोजेक्ट (जैसे कि स्टेजिंग प्रोजेक्ट और प्रोडक्शन प्रोजेक्ट) भी जोड़े जा सकते हैं.

शुरू होने के बाद, Firebase आपकी लोकल ऐप्लिकेशन डायरेक्ट्री के रूट में अपने-आप ये दो फ़ाइलें बना देता है:

  • firebase.json कॉन्फ़िगरेशन फ़ाइल, जिसमें आपके प्रोजेक्ट का कॉन्फ़िगरेशन मौजूद होता है.

  • ऐसी .firebaserc फ़ाइल जिसमें आपके प्रोजेक्ट के aliases सेव होते हैं.

firebase.json फ़ाइल

firebase init कमांड, आपके प्रोजेक्ट डायरेक्ट्री के रूट में एक firebase.json कॉन्फ़िगरेशन फ़ाइल बनाता है.

firebase.json फ़ाइल को Firebase सीएलआई के साथ एसेट को डिप्लॉय करने की ज़रूरत होती है, क्योंकि इससे पता चलता है कि आपकी प्रोजेक्ट डायरेक्ट्री से किन फ़ाइलों और सेटिंग को आपके Firebase प्रोजेक्ट में डिप्लॉय किया जाएगा. कुछ सेटिंग आपके प्रोजेक्ट डायरेक्ट्री या Firebase कंसोल में तय की जा सकती हैं. इसलिए, पक्का करें कि डिप्लॉयमेंट से जुड़े सभी विवादों को सुलझाया जाए.

Firebase होस्टिंग के ज़्यादातर विकल्पों को सीधे firebase.json फ़ाइल में कॉन्फ़िगर किया जा सकता है. हालांकि, Firebase सीएलआई के साथ डिप्लॉय की जा सकने वाली Firebase सेवाओं के लिए, firebase init कमांड खास फ़ाइलें बनाता है. यहां उन सेवाओं के लिए सेटिंग तय की जा सकती हैं, जैसे कि Cloud Functions के लिए index.js फ़ाइल. firebase.json फ़ाइल में, प्रीडिप्लॉय या पोस्टडिप्लॉय हुक भी सेट अप किए जा सकते हैं.

नीचे उदाहरण के तौर पर, डिफ़ॉल्ट सेटिंग वाली firebase.json फ़ाइल दी गई है. अगर आपने शुरू करने के दौरान, Firebase होस्टिंग, Cloud Firestore, और Cloud Functions (इसमें टाइपस्क्रिप्ट सोर्स और लिंट के विकल्प चुने हैं) चुना है, तो यह तरीका अपनाया जा सकता है.

{
  "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 डेटाबेस हैं, तो हर डेटाबेस के साथ Cloud Firestore के अलग-अलग सुरक्षा नियम और डेटाबेस इंडेक्स सोर्स फ़ाइलों को जोड़ने के लिए, firebase.json फ़ाइल में बदलाव करें. JSON कलेक्शन वाली फ़ाइल में बदलाव करें और हर डेटाबेस के लिए एक एंट्री डालें.

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

डिप्लॉय करने के दौरान जिन क्लाउड फ़ंक्शन फ़ाइलों को अनदेखा करना है वे फ़ाइलें

फ़ंक्शन डिप्लॉयमेंट के समय, सीएलआई functions डायरेक्ट्री में उन फ़ाइलों की सूची अपने-आप तय करता है जिन्हें अनदेखा करना है. यह उन बैकएंड बाहरी फ़ाइलों में डिप्लॉयमेंट को रोकता है जो आपके डिप्लॉयमेंट का डेटा साइज़ बढ़ा सकती हैं.

डिफ़ॉल्ट रूप से अनदेखा की गई फ़ाइलों की सूची, जो JSON फ़ॉर्मैट में दिखती है:

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

अगर आप firebase.json में ignore के लिए अपने खुद के कस्टम मान जोड़ते हैं, तो पक्का करें कि आप ऊपर दिखाई गई फ़ाइलों की सूची को बनाए रखें (या जोड़ें, अगर वह मौजूद नहीं है).

प्रोजेक्ट के उपनाम मैनेज करना

एक ही प्रोजेक्ट डायरेक्ट्री से कई Firebase प्रोजेक्ट जोड़े जा सकते हैं. उदाहरण के लिए, हो सकता है कि आप स्टेजिंग के लिए एक Firebase प्रोजेक्ट और प्रोडक्शन के लिए दूसरे का इस्तेमाल करना चाहें. अलग-अलग प्रोजेक्ट एनवायरमेंट का इस्तेमाल करके, प्रोडक्शन में डिप्लॉय करने से पहले, बदलावों की पुष्टि की जा सकती है. firebase use कमांड आपको उपनामों के बीच स्विच करने और नए उपनाम बनाने की सुविधा देता है.

प्रोजेक्ट का उपनाम जोड़ें

जब प्रोजेक्ट शुरू होने के दौरान कोई Firebase प्रोजेक्ट चुना जाता है, तो प्रोजेक्ट को default का उपनाम अपने-आप असाइन हो जाता है. हालांकि, प्रोजेक्ट के हिसाब से दिए गए निर्देशों को किसी दूसरे Firebase प्रोजेक्ट पर चलाने की अनुमति देने के लिए, लेकिन फिर भी उसी प्रोजेक्ट डायरेक्ट्री का इस्तेमाल करें. इसके लिए, अपनी प्रोजेक्ट डायरेक्ट्री में यह कमांड चलाएं:

firebase use --add

यह निर्देश आपको दूसरा Firebase प्रोजेक्ट चुनने और उस प्रोजेक्ट को उपनाम के तौर पर असाइन करने के लिए कहता है. उपनाम असाइनमेंट, आपकी प्रोजेक्ट डायरेक्ट्री में मौजूद .firebaserc फ़ाइल में लिखे जाते हैं.

प्रोजेक्ट के उपनाम का इस्तेमाल करना

असाइन किए गए Firebase प्रोजेक्ट के अन्य नामों का इस्तेमाल करने के लिए, अपनी प्रोजेक्ट डायरेक्ट्री में इनमें से कोई भी निर्देश चलाएं.

आदेश ब्यौरा
firebase use अपनी प्रोजेक्ट डायरेक्ट्री के लिए, मौजूदा समय में तय किए गए उपनामों की सूची देखें
firebase use \
PROJECT_ID|ALIAS
सभी कमांड को तय किए गए Firebase प्रोजेक्ट के हिसाब से चलने के लिए भेजता है.
सीएलआई इस प्रोजेक्ट का इस्तेमाल, फ़िलहाल "ऐक्टिव प्रोजेक्ट" के तौर पर करता है.
firebase use --clear ऐक्टिव प्रोजेक्ट को हटा देता है.

कोई नया चालू प्रोजेक्ट सेट करने के लिए, अन्य सीएलआई निर्देश चलाने से पहले firebase use PROJECT_ID|ALIAS चलाएं.

firebase use \
--unalias PROJECT_ALIAS
आपकी प्रोजेक्ट डायरेक्ट्री से उपनाम हटाता है.

किसी भी सीएलआई कमांड के साथ --project फ़्लैग पास करके, मौजूदा चालू प्रोजेक्ट के तौर पर इस्तेमाल की जा रही चीज़ों को बदला जा सकता है. उदाहरण के लिए: अपने सीएलआई को उस Firebase प्रोजेक्ट पर चलाने के लिए सेट किया जा सकता है जिसे आपने staging Alias असाइन किया है. अगर आपको उस Firebase प्रोजेक्ट के लिए कोई एक निर्देश चलाना है जिसे आपने prod उपनाम असाइन किया है, तो आप उदाहरण के लिए firebase deploy --project=prod चला सकते हैं.

सोर्स कंट्रोल और प्रोजेक्ट के अन्य नाम

आम तौर पर, आपको सोर्स कंट्रोल में अपनी .firebaserc फ़ाइल की जांच करनी चाहिए, ताकि आपकी टीम प्रोजेक्ट का उपनाम शेयर कर सके. हालांकि, ओपन सोर्स प्रोजेक्ट या स्टार्टर टेंप्लेट के लिए, आपको आम तौर पर अपनी .firebaserc फ़ाइल की जांच नहीं करनी चाहिए.

अगर आपके पास कोई ऐसा डेवलपमेंट प्रोजेक्ट है जो सिर्फ़ आपके इस्तेमाल के लिए है, तो हर निर्देश के साथ --project फ़्लैग पास किया जा सकता है या Firebase प्रोजेक्ट को उपनाम असाइन किए बिना, firebase use PROJECT_ID को चलाया जा सकता है.

स्थानीय तौर पर अपने Firebase प्रोजेक्ट को चलाएं और उसकी जांच करें

प्रोडक्शन में डिप्लॉय करने से पहले, स्थानीय तौर पर होस्ट किए गए यूआरएल पर अपना Firebase प्रोजेक्ट देखा और टेस्ट किया जा सकता है. अगर आपको सिर्फ़ चुनिंदा सुविधाओं की जांच करनी है, तो firebase serve कमांड पर फ़्लैग में कॉमा लगाकर अलग की गई सूची का इस्तेमाल किया जा सकता है.

अगर आपको इनमें से कोई भी टास्क करना है, तो अपने लोकल प्रोजेक्ट डायरेक्ट्री के रूट से इस कमांड को चलाएं:

  • Firebase से होस्ट किए गए ऐप्लिकेशन के लिए स्टैटिक कॉन्टेंट देखें.
  • Firebase होस्टिंग के लिए डाइनैमिक कॉन्टेंट जनरेट करने के लिए, Cloud Functions का इस्तेमाल करें. साथ ही, स्थानीय यूआरएल पर होस्टिंग को एम्युलेट करने के लिए, अपने प्रोडक्शन (डिप्लॉय किए गए) एचटीटीपी फ़ंक्शन का इस्तेमाल करना है.
firebase serve --only hosting

लोकल एचटीटीपी फ़ंक्शन का इस्तेमाल करके, अपने प्रोजेक्ट को एम्युलेट करें

लोकल एचटीटीपी फ़ंक्शन का इस्तेमाल करके, अपने प्रोजेक्ट को एम्युलेट करने के लिए, अपने प्रोजेक्ट डायरेक्ट्री से इनमें से कोई भी निर्देश चलाएं.

  • लोकल यूआरएल पर जांच के लिए एचटीटीपी फ़ंक्शन और होस्टिंग को एम्युलेट करने के लिए, इनमें से किसी एक निर्देश का इस्तेमाल करें:

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • सिर्फ़ एचटीटीपी फ़ंक्शन को एम्युलेट करने के लिए, इस कमांड का इस्तेमाल करें:

    firebase serve --only functions

दूसरे स्थानीय डिवाइसों से टेस्ट करें

डिफ़ॉल्ट रूप से, firebase serve सिर्फ़ localhost के अनुरोधों का जवाब देता है. इसका मतलब है कि होस्ट किए गए कॉन्टेंट को कंप्यूटर के वेब ब्राउज़र से तो ऐक्सेस किया जा सकेगा, लेकिन अपने नेटवर्क के अन्य डिवाइसों से नहीं. अगर आपको अन्य स्थानीय डिवाइसों से टेस्ट करना है, तो --host फ़्लैग का इस्तेमाल करें, जैसे:

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

किसी Firebase प्रोजेक्ट में डिप्लॉय करना

Firebase सीएलआई, आपके Firebase प्रोजेक्ट में कोड और एसेट के डिप्लॉयमेंट को मैनेज करता है. इनमें ये शामिल हैं:

  • आपकी Firebase होस्टिंग साइटों की नई रिलीज़
  • Firebase के लिए नए, अपडेट किए गए या मौजूदा Cloud Functions
  • Firebase रीयलटाइम डेटाबेस के लिए नियम
  • Firebase के लिए Cloud Storage के नियम
  • Cloud Firestore के लिए नियम
  • Cloud Firestore के लिए इंडेक्स

किसी Firebase प्रोजेक्ट में डिप्लॉय करने के लिए, अपनी प्रोजेक्ट डायरेक्ट्री से यह कमांड चलाएं:

firebase deploy

आपके पास हर डिप्लॉयमेंट में, टिप्पणी जोड़ने का विकल्प होता है. हालांकि, ऐसा करना ज़रूरी नहीं है. यह टिप्पणी, आपके प्रोजेक्ट के Firebase होस्टिंग पेज पर डिप्लॉयमेंट की अन्य जानकारी के साथ दिखेगी. उदाहरण के लिए:

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

firebase deploy निर्देश का इस्तेमाल करते समय, इन बातों का ध्यान रखें:

  • प्रोजेक्ट डायरेक्ट्री से संसाधनों को डिप्लॉय करने के लिए, प्रोजेक्ट डायरेक्ट्री में firebase.json फ़ाइल होनी चाहिए. यह फ़ाइल firebase init कमांड की मदद से, आपके लिए अपने-आप बन जाती है.

  • डिफ़ॉल्ट रूप से, firebase deploy आपकी प्रोजेक्ट डायरेक्ट्री में डिप्लॉय किए जा सकने वाले सभी रिसॉर्स के लिए, एक रिलीज़ बनाता है. खास Firebase सेवाओं या सुविधाओं को डिप्लॉय करने के लिए, कुछ हिस्से के डिप्लॉयमेंट का इस्तेमाल करें.

सुरक्षा नियमों के हिसाब से डिप्लॉयमेंट को लेकर विवाद हैं

Firebase रीयल टाइम डेटाबेस, Firebase के लिए Cloud Storage, और Cloud Firestore के लिए, अपनी लोकल प्रोजेक्ट डायरेक्ट्री या Firebase कंसोल में सुरक्षा के नियम तय किए जा सकते हैं.

डिप्लॉयमेंट में होने वाले विवादों से बचने का दूसरा विकल्प यह है कि पार्शियल डिप्लॉयमेंट का इस्तेमाल करें और सिर्फ़ Firebase कंसोल में नियम तय करें.

डिप्लॉयमेंट कोटा

यह भी मुमकिन है कि आप कोटा को पार कर लें. इससे, Firebase पर आपकी डिप्लॉयमेंट की कार्रवाइयों की दर या संख्या कम हो सकती है. उदाहरण के लिए, बहुत ज़्यादा संख्या में फ़ंक्शन डिप्लॉय करते समय, आपको HTTP 429 Quota गड़बड़ी का मैसेज मिल सकता है. ऐसी समस्याओं को हल करने के लिए, पार्शियल डिप्लॉयमेंट का इस्तेमाल करें.

किसी डिप्लॉयमेंट को रोल बैक करना

आपके पास अपने प्रोजेक्ट के Firebase होस्टिंग पेज से, Firebase होस्टिंग के डिप्लॉयमेंट को रोल बैक करने का विकल्प है. इसके लिए, अपनी पसंद की रिलीज़ के लिए रोलबैक कार्रवाई चुनें.

फ़िलहाल, Firebase रीयलटाइम डेटाबेस, Firebase के लिए Cloud Storage या Cloud Firestore के लिए सुरक्षा नियमों की रिलीज़ को रोल बैक नहीं किया जा सकता.

खास Firebase सेवाएं डिप्लॉय करें

अगर आपको सिर्फ़ कुछ खास Firebase सेवाओं या सुविधाओं को डिप्लॉय करना है, तो firebase deploy कमांड पर फ़्लैग में कॉमा से अलग की गई सूची का इस्तेमाल किया जा सकता है. उदाहरण के लिए, नीचे दिया गया निर्देश, Firebase होस्टिंग कॉन्टेंट और Cloud Storage के सुरक्षा नियमों को डिप्लॉय करता है.

firebase deploy --only hosting,storage

नीचे दी गई टेबल में, पार्शियल डिप्लॉयमेंट के लिए उपलब्ध सेवाओं और सुविधाओं की जानकारी दी गई है. फ़्लैग में दिए गए नाम, आपकी firebase.json कॉन्फ़िगरेशन फ़ाइल में मौजूद कुंजियों के मुताबिक हैं.

सिंटैक्स फ़्लैग करें सेवा या सुविधा डिप्लॉय की गई
--only hosting Firebase होस्टिंग कॉन्टेंट
--only database Firebase रीयलटाइम डेटाबेस के नियम
--only storage 'Firebase के लिए Cloud Storage' के नियम
--only firestore कॉन्फ़िगर किए गए सभी डेटाबेस के लिए, Cloud Firestore के नियम और इंडेक्स
--only functions Firebase के लिए Cloud Functions (इस फ़्लैग के ज़्यादा खास वर्शन संभव हैं)

खास फ़ंक्शन डिप्लॉय करें

फ़ंक्शन को डिप्लॉय करते समय, कुछ खास फ़ंक्शन को टारगेट किया जा सकता है. उदाहरण के लिए:

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

दूसरा विकल्प यह है कि आप फ़ंक्शन को अपनी /functions/index.js फ़ाइल के एक्सपोर्ट ग्रुप में ग्रुप करें. फ़ंक्शन से ग्रुप बनाने की सुविधा से, एक ही कमांड का इस्तेमाल करके कई फ़ंक्शन डिप्लॉय किए जा सकते हैं.

उदाहरण के लिए, groupA और groupB को तय करने के लिए, ये फ़ंक्शन लिखे जा सकते हैं:

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

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

इस उदाहरण में, एक अलग functions/groupB.js फ़ाइल में अतिरिक्त फ़ंक्शन हैं, जो खास तौर पर groupB में फ़ंक्शन को तय करते हैं. उदाहरण के लिए:

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

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

इस उदाहरण में, अपनी प्रोजेक्ट डायरेक्ट्री से यह कमांड चलाकर सभी groupA फ़ंक्शन को डिप्लॉय किया जा सकता है:

firebase deploy --only functions:groupA

या फिर, इस कमांड से ग्रुप में किसी फ़ंक्शन को टारगेट किया जा सकता है:

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

फ़ंक्शन मिटाएं

Firebase सीएलआई, पहले डिप्लॉय किए गए फ़ंक्शन को मिटाने के लिए, नीचे दिए गए निर्देशों और विकल्पों पर काम करता है:

  • इससे सभी फ़ंक्शन मिट जाते हैं, जो सभी क्षेत्रों में बताए गए नाम से मेल खाते हैं:

    firebase functions:delete FUNCTION-1_NAME

  • इस नीति से, उस फ़ंक्शन को मिटाया जाता है जो किसी ऐसे क्षेत्र में चल रहा है जो डिफ़ॉल्ट नहीं है:

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

  • एक से ज़्यादा फ़ंक्शन को मिटाता है:

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

  • चुने गए फ़ंक्शन ग्रुप को मिटाता है:

    firebase functions:delete GROUP_NAME

  • पुष्टि करने के प्रॉम्प्ट को बायपास करता है:

    firebase functions:delete FUNCTION-1_NAME --force

प्री-डिप्लॉय और पोस्टडिप्लॉय स्क्रिप्ट वाले टास्क सेट अप करना

आपके पास शेल स्क्रिप्ट को firebase deploy कमांड से कनेक्ट करने का विकल्प होता है. इससे, प्रीडिप्लॉय या पोस्टडिप्लॉय के काम करने में मदद मिलेगी. उदाहरण के लिए, प्रीडिप्लॉय स्क्रिप्ट, टाइपस्क्रिप्ट कोड को JavaScript में ट्रांसप्लाई कर सकती है और पोस्टडिप्लॉ हुक, एडमिन को Firebase होस्टिंग में डिप्लॉय की गई नई साइट के कॉन्टेंट के बारे में सूचना दे सकता है.

प्रीडिप्लॉय या पोस्टडिप्लॉय हुक सेट अप करने के लिए, अपनी firebase.json कॉन्फ़िगरेशन फ़ाइल में बैश स्क्रिप्ट जोड़ें. सीधे firebase.json फ़ाइल में, कम शब्दों में स्क्रिप्ट के बारे में जानकारी दी जा सकती है. इसके अलावा, अपने प्रोजेक्ट डायरेक्ट्री में मौजूद अन्य फ़ाइलों का रेफ़रंस भी दिया जा सकता है.

उदाहरण के लिए, नीचे दी गई स्क्रिप्ट पोस्टडिप्लॉय टास्क के लिए firebase.json एक्सप्रेशन है. यह Firebase होस्टिंग पर डिप्लॉय हो जाने के बाद, Slack मैसेज भेजता है.

"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 स्क्रिप्ट के लिए) उस डायरेक्ट्री की जगह जिसमें लागू किए जाने वाले होस्टिंग या Cloud फ़ंक्शन के संसाधन शामिल हैं

एक से ज़्यादा रीयल टाइम डेटाबेस इंस्टेंस मैनेज करें

किसी Firebase प्रोजेक्ट में, Firebase रीयल टाइम डेटाबेस के एक से ज़्यादा इंस्टेंस हो सकते हैं. डिफ़ॉल्ट रूप से, सीएलआई कमांड आपके डिफ़ॉल्ट डेटाबेस इंस्टेंस के साथ इंटरैक्ट करते हैं.

हालांकि, --instance DATABASE_NAME फ़्लैग का इस्तेमाल करके, ऐसे डेटाबेस इंस्टेंस से इंटरैक्ट किया जा सकता है जो डिफ़ॉल्ट न हो. ये निर्देश --instance फ़्लैग के साथ काम करते हैं:

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

कमांड रेफ़रंस

CLI एडमिन निर्देश

आदेश ब्यौरा
सहायता सीएलआई या खास निर्देशों के बारे में सहायता जानकारी दिखाता है.
init मौजूदा डायरेक्ट्री में एक नया Firebase प्रोजेक्ट असोसिएट और सेट अप होता है. इस निर्देश से, मौजूदा डायरेक्ट्री में firebase.json कॉन्फ़िगरेशन फ़ाइल बन जाती है.
login आपके Firebase खाते में सीएलआई की पुष्टि करता है. इसके लिए, वेब ब्राउज़र का ऐक्सेस होना ज़रूरी है.
जिन रिमोट एनवायरमेंट में सीएलआई लॉग इन करने के लिए, localhost को ऐक्सेस करने की अनुमति नहीं है वहां --no-localhost फ़्लैग का इस्तेमाल करें.
login:ci नॉन-इंटरैक्टिव एनवायरमेंट में इस्तेमाल करने के लिए, पुष्टि करने वाला टोकन जनरेट करता है.
लॉगआउट करें सीएलआई को अपने Firebase खाते से साइन आउट करता है.
खोलें इससे ब्राउज़र, प्रोजेक्ट के काम के रिसॉर्स दिखाता है.
प्रोजेक्ट:सूची यह उन सभी Firebase प्रोजेक्ट की सूची बनाता है जिनका ऐक्सेस आपके पास है.
इस्तेमाल सीएलआई के लिए, चालू Firebase प्रोजेक्ट सेट करता है.
प्रोजेक्ट के अन्य नाम मैनेज करता है.

प्रोजेक्ट मैनेज करने के लिए निर्देश

आदेश ब्यौरा
Firebase प्रोजेक्ट को मैनेज करना
projects:addfirebase इससे किसी मौजूदा Google Cloud प्रोजेक्ट में Firebase के संसाधन जुड़ जाते हैं.
प्रोजेक्ट:बनाएं नया Google Cloud प्रोजेक्ट बनाता है. इसके बाद, नए प्रोजेक्ट में Firebase के संसाधन जोड़ता है.
प्रोजेक्ट:सूची यह उन सभी Firebase प्रोजेक्ट की सूची बनाता है जिनका ऐक्सेस आपके पास है.
Firebase ऐप्लिकेशन (iOS, Android, वेब) का मैनेजमेंट
apps:create चालू प्रोजेक्ट में नया Firebase ऐप्लिकेशन बनाता है.
apps:list यह चालू प्रोजेक्ट में, रजिस्टर किए गए Firebase ऐप्लिकेशन की जानकारी दिखाता है.
ऐप्लिकेशन:SDKconfig Firebase ऐप्लिकेशन के Google की सेवाओं के कॉन्फ़िगरेशन को प्रिंट करता है.
setup:web अब काम नहीं करता. इसके बजाय, apps:sdkconfig का इस्तेमाल करें और प्लैटफ़ॉर्म तर्क के तौर पर web को तय करें.
Firebase वेब ऐप्लिकेशन के Google सेवाओं के कॉन्फ़िगरेशन को प्रिंट करता है.
SHA के सर्टिफ़िकेट हैश का मैनेजमेंट (सिर्फ़ Android के लिए)
apps:android:sha:create \
FIREBASE_APP_ID SHA_HASH
खास SHA प्रमाणपत्र हैश को खास Firebase Android ऐप्लिकेशन में जोड़ता है.
apps:android:sha:delete \
FIREBASE_APP_ID SHA_HASH
Firebase के तय किए गए Android ऐप्लिकेशन से, दिया गया SHA सर्टिफ़िकेट हैश मिटाता है.
apps:android:sha:list \
FIREBASE_APP_ID
दिए गए Firebase Android ऐप्लिकेशन के लिए, SHA सर्टिफ़िकेट हैश की सूची बनाता है.

डिप्लॉयमेंट और लोकल डेवलपमेंट

इन निर्देशों की मदद से, अपनी Firebase होस्टिंग साइट को डिप्लॉय किया जा सकता है और उससे इंटरैक्ट किया जा सकता है.

आदेश ब्यौरा
deploy यह आपकी प्रोजेक्ट डायरेक्ट्री से, ऐक्टिव प्रोजेक्ट में कोड और एसेट डिप्लॉय करता है. Firebase होस्टिंग के लिए, firebase.json कॉन्फ़िगरेशन फ़ाइल होना ज़रूरी है.
पेश करें आपके Firebase होस्टिंग कॉन्फ़िगरेशन के साथ स्थानीय वेब सर्वर शुरू करता है. Firebase होस्टिंग के लिए, firebase.json कॉन्फ़िगरेशन फ़ाइल होना ज़रूरी है.

App Distribution से जुड़े निर्देश

आदेश ब्यौरा
appdistribution:distribution \
--ऐप्लिकेशन FIREBASE_APP_ID
इससे टेस्टर को बिल्ड उपलब्ध कराया जा सकता है.
appdistribution:testers:जोड़ें प्रोजेक्ट में टेस्टर जोड़ता है.
appdistribution:testers:हटाएं प्रोजेक्ट से टेस्टर को हटाता है.

पुष्टि करने (यूज़र मैनेजमेंट) के निर्देश

आदेश ब्यौरा
auth:export चालू प्रोजेक्ट के उपयोगकर्ता खातों को JSON या CSV फ़ाइल में एक्सपोर्ट करता है. ज़्यादा जानकारी के लिए, auth:Import and auth:export पेज देखें.
auth:import यह चालू प्रोजेक्ट में, JSON या CSV फ़ाइल से उपयोगकर्ता खातों को इंपोर्ट करता है. ज़्यादा जानकारी के लिए, auth:Import and auth:export पेज देखें.

Cloud Firestore के निर्देश

आदेश ब्यौरा
firestore:locations

अपने Cloud Firestore डेटाबेस के लिए उपलब्ध जगहों की सूची बनाएं.

firestore:databases:create DATABASE_ID

अपने Firebase प्रोजेक्ट में, नेटिव मोड में डेटाबेस इंस्टेंस बनाएं.

निर्देश इन फ़्लैग को लेता है:

  • --location <region name> का इस्तेमाल, डेटाबेस के डिप्लॉयमेंट की जगह की जानकारी देने के लिए किया जाता है. ध्यान दें कि उपलब्ध जगहों की सूची बनाने के लिए, firebase Firestore:locations चल सकते हैं. ज़रूरी है.
  • --delete-security <deleteProtectionState> इस्तेमाल करें. इससे, बताए गए डेटाबेस को मिटाने या उसे मिटाने की अनुमति देने या रोकने में मदद मिलती है. मान्य वैल्यू ENABLED या DISABLED हैं. डिफ़ॉल्ट DISABLED.
  • --पॉइंट-इन-टाइम-रिकवरी <PITRState> से यह सेट करें कि पॉइंट-इन-टाइम रिकवरी चालू है या नहीं. मान्य वैल्यू, ENABLED या DISABLED हैं. डिफ़ॉल्ट DISABLED. ज़रूरी नहीं.
firestore:databases:list

अपने Firebase प्रोजेक्ट में डेटाबेस की सूची बनाएं.

firestore:databases:get DATABASE_ID

अपने Firebase प्रोजेक्ट में, किसी खास डेटाबेस के लिए डेटाबेस कॉन्फ़िगरेशन पाएं.

firestore:databases:update DATABASE_ID

अपने Firebase प्रोजेक्ट में, किसी खास डेटाबेस का डेटाबेस कॉन्फ़िगरेशन अपडेट करें.

कम से कम एक फ़्लैग ज़रूरी है. निर्देश इन फ़्लैग को लेता है:

  • --delete-security <deleteProtectionState> इस्तेमाल करें. इससे, बताए गए डेटाबेस को मिटाने या उसे मिटाने की अनुमति देने या रोकने में मदद मिलती है. मान्य वैल्यू ENABLED या DISABLED हैं. डिफ़ॉल्ट DISABLED.
  • --पॉइंट-इन-टाइम-रिकवरी <PITRState> से यह सेट करें कि पॉइंट-इन-टाइम रिकवरी चालू है या नहीं. मान्य वैल्यू, ENABLED या DISABLED हैं. डिफ़ॉल्ट DISABLED. ज़रूरी नहीं.
firestore:databases:delete DATABASE_ID

अपने Firebase प्रोजेक्ट में कोई डेटाबेस मिटाएं.

firestore:indexes

अपने Firebase प्रोजेक्ट में किसी डेटाबेस के लिए इंडेक्स की सूची बनाएं.

निर्देश नीचे दिया गया फ़्लैग लेता है:

  • --database DATABASE_ID का इस्तेमाल करके उस डेटाबेस का नाम बताएं जिसके लिए इंडेक्स की सूची बनानी है. अगर यह पैरामीटर उपलब्ध नहीं कराया जाता, तो इंडेक्स को डिफ़ॉल्ट डेटाबेस के तौर पर शामिल किया जाता है.
firestore:delete

ऐक्टिव प्रोजेक्ट के डेटाबेस से दस्तावेज़ मिटाता है. सीएलआई का इस्तेमाल करके, आपके पास कलेक्शन में मौजूद सभी दस्तावेज़ों को बार-बार मिटाने का विकल्प होता है.

ध्यान दें कि सीएलआई से Cloud Firestore डेटा को मिटाने पर, लागत में बदलाव होता है और उसे पढ़ना पड़ता है. ज़्यादा जानकारी के लिए, Cloud Firestore की बिलिंग को समझना लेख देखें.

निर्देश नीचे दिया गया फ़्लैग लेता है:

  • --database DATABASE_ID का इस्तेमाल करता है, ताकि उस डेटाबेस का नाम बताया जा सके जिससे दस्तावेज़ मिटाए जाते हैं. अगर दस्तावेज़ नहीं दिए जाते, तो डिफ़ॉल्ट डेटाबेस से दस्तावेज़ मिटा दिए जाते हैं. ज़रूरी नहीं.

'Firebase के लिए Cloud Functions' के निर्देश

आदेश ब्यौरा
functions:config:clone यह चालू Firebase प्रोजेक्ट में, दूसरे प्रोजेक्ट के एनवायरमेंट का क्लोन बनाता है.
functions:config:get यह चालू प्रोजेक्ट के Cloud Functions की मौजूदा कॉन्फ़िगरेशन वैल्यू वापस लाता है.
functions:config:set यह चालू प्रोजेक्ट के Cloud फ़ंक्शन के रनटाइम कॉन्फ़िगरेशन वैल्यू को सेव करता है.
functions:config:unset यह चालू प्रोजेक्ट के रनटाइम कॉन्फ़िगरेशन से वैल्यू हटा देता है.
functions:log डिप्लॉय किए गए Cloud Functions से लॉग पढ़ता है.

ज़्यादा जानकारी के लिए, एनवायरमेंट कॉन्फ़िगरेशन का दस्तावेज़ देखें.

Crashlytics के लिए निर्देश

आदेश ब्यौरा
crashlytics:mappingfile:generateid \
--resource-file=PATH/TO/ANDROID_RESOURCE.XML
तय की गई Android रिसॉर्स (एक्सएमएल) फ़ाइल में, मैपिंग फ़ाइल आईडी जनरेट करता है.
crashlytics:mappingfile:upload \
--app=FIREBASE_APP_ID \
--resource-file=PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
इस ऐप्लिकेशन के लिए, ProGuard के साथ काम करने वाली मैपिंग (TXT) फ़ाइल अपलोड करता है और इसे Android रिसॉर्स (एक्सएमएल) फ़ाइल में बताए गए मैपिंग फ़ाइल आईडी से जोड़ता है.
crashlytics:सिंबल:अपलोड \
--app=FIREBASE_APP_ID \
PATH/TO/SYMBOLS
Android पर नेटिव लाइब्रेरी के क्रैश के लिए, Crashlytics के साथ काम करने वाली सिंबल फ़ाइल जनरेट करता है और उसे Firebase सर्वर पर अपलोड करता है.

एक्सटेंशन के लिए निर्देश

आदेश ब्यौरा
ext Firebase एक्सटेंशन कमांड का इस्तेमाल करने के तरीके के बारे में जानकारी दिखाता है.
यह चालू प्रोजेक्ट में इंस्टॉल किए गए एक्सटेंशन के इंस्टेंस की सूची बनाता है.
ext:config \
EXTENSION_INSTANCE_ID
यह आपके एक्सटेंशन मेनिफ़ेस्ट में किसी एक्सटेंशन इंस्टेंस की पैरामीटर वैल्यू को फिर से कॉन्फ़िगर करता है.
ext:जानकारी \
PUBLISHER_ID/EXTENSION_ID
किसी एक्सटेंशन के बारे में पूरी जानकारी प्रिंट करता है.
ext:install \
PUBLISHER_ID/EXTENSION_ID
आपके एक्सटेंशन मेनिफ़ेस्ट में एक्सटेंशन का एक नया इंस्टेंस जोड़ता है.
ext:list Firebase प्रोजेक्ट में इंस्टॉल किए गए सभी एक्सटेंशन इंस्टेंस की सूची बनाता है.
हर एक्सटेंशन के इंस्टेंस आईडी को प्रिंट करता है.
ext:अनइंस्टॉल करें \
EXTENSION_INSTANCE_ID
आपके एक्सटेंशन मेनिफ़ेस्ट से किसी एक्सटेंशन इंस्टेंस को हटाता है.
ext:update \
EXTENSION_INSTANCE_ID
आपके एक्सटेंशन मेनिफ़ेस्ट में किसी एक्सटेंशन इंस्टेंस को नए वर्शन में अपडेट करता है.
ext:export इंस्टॉल किए गए सभी एक्सटेंशन इंस्टेंस को आपके प्रोजेक्ट से आपके एक्सटेंशन मेनिफ़ेस्ट में एक्सपोर्ट करता है.

एक्सटेंशन पब्लिशर के लिए निर्देश

आदेश ब्यौरा
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:unprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
एक्सटेंशन के ऐसे वर्शन अब काम नहीं करता जो प्रेडिकेट वर्शन से मेल खाते हैं.
वर्शन प्रेडिकेट, एक वर्शन (जैसे कि 1.0.0) या कई वर्शन (जैसे कि >1.0.0) हो सकता है.
अगर कोई वर्शन प्रेडिकेट नहीं दिया जाता है, तो उस एक्सटेंशन के सभी वर्शन को हटा देता है.
ext:dev:upload \
PUBLISHER_ID/EXTENSION_ID
एक्सटेंशन का नया वर्शन अपलोड करता है.
ext:dev:usage \
PUBLISHER_ID
यह किसी पब्लिशर के अपलोड किए गए एक्सटेंशन के लिए, इंस्टॉल की संख्या और इस्तेमाल के बारे में मेट्रिक दिखाता है.

होस्ट करने से जुड़े निर्देश

आदेश ब्यौरा
hosting:disable

चालू Firebase प्रोजेक्ट के लिए Firebase होस्टिंग ट्रैफ़िक दिखाना बंद कर देता है.

इस निर्देश को चलाने के बाद, आपके प्रोजेक्ट का होस्टिंग यूआरएल, "साइट नहीं मिली" मैसेज दिखाएगा.

होस्टिंग साइटों का मैनेजमेंट
Firebase होस्टिंग:sites:create \
SITE_ID

SITE_ID का इस्तेमाल करके, चालू Firebase प्रोजेक्ट में नई होस्टिंग साइट बनाती है

(ज़रूरी नहीं) नई साइट से जोड़ने के लिए, किसी मौजूदा Firebase वेब ऐप्लिकेशन को तय करें. इसके लिए, यह फ़्लैग पास करें: --app FIREBASE_APP_ID

Firebase होस्टिंग:sites:delete \
SITE_ID

बताई गई होस्टिंग साइट को मिटाता है

साइट को मिटाने से पहले सीएलआई, पुष्टि करने का अनुरोध दिखाता है.

(ज़रूरी नहीं) इन फ़्लैग को पास करके, पुष्टि करने वाले प्रॉम्प्ट को स्किप करें: -f या --force

Firebase होस्टिंग:sites:get \
SITE_ID

बताई गई होस्टिंग साइट के बारे में जानकारी लाता है

Firebase होस्टिंग:sites:सूची

यह चालू Firebase प्रोजेक्ट के लिए, होस्टिंग की सभी साइटों की सूची बनाता है

प्रीव्यू चैनलों का मैनेजमेंट
Firebase होस्टिंग:channel:create \
CHANNEL_ID

तय किए गए CHANNEL_ID का इस्तेमाल करके, डिफ़ॉल्ट होस्टिंग साइट पर नया प्रीव्यू चैनल बनाता है

यह निर्देश, चैनल पर डिप्लॉय नहीं किया जाता.

Firebase होस्टिंग:channel:delete \
CHANNEL_ID

चुने गए झलक चैनल को मिटाता है

किसी साइट का लाइव चैनल नहीं मिटाया जा सकता.

Firebase होस्टिंग:channel:deploy \
CHANNEL_ID

यह आपके होस्टिंग कॉन्टेंट और कॉन्फ़िगरेशन को तय किए गए प्रीव्यू चैनल के साथ डिप्लॉय करती है

अगर झलक चैनल अब तक मौजूद नहीं है, तो इस निर्देश से चैनल को डिप्लॉय करने से पहले, डिफ़ॉल्ट होस्टिंग साइट पर चैनल बना दिया जाता है.

Firebase होस्टिंग:channel:list यह डिफ़ॉल्ट होस्टिंग साइट पर, सभी चैनलों को शामिल करता है. इनमें "लाइव" चैनल भी शामिल है
Firebase होस्टिंग:channel:open \
CHANNEL_ID
ब्राउज़र को बताए गए चैनल के यूआरएल पर खोलता है या अगर ब्राउज़र में खोलना संभव नहीं है, तो यूआरएल दिखाता है
वर्शन की क्लोनिंग
Firebase होस्टिंग:क्लोन \
SOURCE_SITE_ID:SOURCE_CHANNEL_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

तय किए गए "सोर्स" चैनल पर, तय किए गए "टारगेट" चैनल पर, हाल ही में डिप्लॉय किए गए वर्शन को क्लोन करता है

यह निर्देश दिए गए "टारगेट" चैनल पर भी लागू किया जाता है. अगर "टारगेट" चैनल अब तक मौजूद नहीं है, तो यह निर्देश चैनल पर डिप्लॉय करने से पहले, "टारगेट" होस्टिंग साइट पर एक नया झलक चैनल बना देता है.

Firebase होस्टिंग:clone \
SOURCE_SITE_ID:@VERSION_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

बताए गए वर्शन को किसी खास "टारगेट" चैनल पर क्लोन करता है

यह निर्देश दिए गए "टारगेट" चैनल पर भी लागू किया जाता है. अगर "टारगेट" चैनल अब तक मौजूद नहीं है, तो यह निर्देश चैनल पर डिप्लॉय करने से पहले, "टारगेट" होस्टिंग साइट पर एक नया झलक चैनल बना देता है.

VERSION_ID को 'Firebase कंसोल' के होस्टिंग डैशबोर्ड में देखा जा सकता है.

रीयलटाइम डेटाबेस के निर्देश

ध्यान दें कि Firebase कंसोल में या सामान्य firebase init वर्कफ़्लो या किसी firebase init database फ़्लो का इस्तेमाल करके, डिफ़ॉल्ट रीयल टाइम डेटाबेस इंस्टेंस बनाया जा सकता है.

इंस्टेंस बनाने के बाद, उन्हें रीयल टाइम डेटाबेस के एक से ज़्यादा इंस्टेंस मैनेज करें में दिए गए तरीके से मैनेज किया जा सकता है.

आदेश ब्यौरा
database:get यह चालू प्रोजेक्ट के डेटाबेस से डेटा फ़ेच करता है और उसे JSON के तौर पर दिखाता है. इसमें इंडेक्स किए गए डेटा के बारे में क्वेरी की जा सकती है.
database:instances:create किसी इंस्टेंस के नाम के साथ डेटाबेस इंस्टेंस बनाता है. किसी खास इलाके में डेटाबेस बनाने के लिए, --location विकल्प स्वीकार किया जाता है. इस विकल्प के साथ इलाके के नाम का इस्तेमाल करने के लिए, अपने प्रोजेक्ट के लिए चुनी गई जगहें देखें. अगर मौजूदा प्रोजेक्ट के लिए कोई डेटाबेस इंस्टेंस मौजूद नहीं है, तो आपको इंस्टेंस बनाने के लिए, firebase init फ़्लो चलाने के लिए कहा जाएगा.
database:instances:list इस प्रोजेक्ट के सभी डेटाबेस इंस्टेंस की सूची बनाएं. किसी खास इलाके में, डेटाबेस की लिस्टिंग दिखाने के लिए --location विकल्प स्वीकार किया जाता है. इस विकल्प के साथ क्षेत्र के नाम का इस्तेमाल करने के लिए, अपने प्रोजेक्ट के लिए जगहें चुनें देखें.
database:profile यह ऐक्टिव प्रोजेक्ट के डेटाबेस पर कार्रवाइयों की प्रोफ़ाइल बनाता है. ज़्यादा जानकारी के लिए, रीयलटाइम डेटाबेस ऑपरेशन टाइप देखें.
database:push यह चालू प्रोजेक्ट के डेटाबेस में, तय की गई जगह पर नए डेटा को सूची में पुश करता है. किसी फ़ाइल, STDIN या किसी कमांड-लाइन आर्ग्युमेंट से इनपुट लेता है.
database:remove ऐक्टिव प्रोजेक्ट के डेटाबेस में किसी खास जगह का पूरा डेटा मिटाता है.
database:set यह चालू प्रोजेक्ट के डेटाबेस में, तय की गई जगह पर मौजूद पूरा डेटा बदल देता है. इसमें किसी फ़ाइल, STDIN या किसी कमांड-लाइन आर्ग्युमेंट का इनपुट होता है.
database:update चालू प्रोजेक्ट के डेटाबेस में किसी तय जगह पर आंशिक अपडेट करता है. किसी फ़ाइल, STDIN या किसी कमांड-लाइन आर्ग्युमेंट से इनपुट लेता है.

रिमोट कॉन्फ़िगरेशन के लिए निर्देश

आदेश ब्यौरा
remoteconfig:versions:list \
--limit NUMBER_OF_VERSIONS
यह टेंप्लेट के सबसे हाल के 10 वर्शन की सूची बनाता है. सभी मौजूदा वर्शन दिखाने के लिए, 0 तय करें या दिखाए जाने वाले वर्शन की संख्या को सीमित करने के लिए, --limit विकल्प को पास करें.
remoteconfig:get \
--v, version_number VERSION_NUMBER
--o, आउटपुट FILENAME
वर्शन के हिसाब से टेंप्लेट बनाता है (डिफ़ॉल्ट रूप से सबसे नए वर्शन पर ले जाता है) और पैरामीटर के ग्रुप, पैरामीटर, स्थिति के नाम, और वर्शन को एक टेबल में दिखाता है. इसके अलावा, -o, FILENAME का इस्तेमाल करके, किसी बताई गई फ़ाइल में आउटपुट लिखा जा सकता है.
remoteconfig:rollback \
--v, version_number VERSION_NUMBER
--force
रिमोट कॉन्फ़िगरेशन टेंप्लेट को किसी पिछले वर्शन नंबर पर रोल बैक करता है या डिफ़ॉल्ट रूप से पिछले वर्शन (मौजूदा वर्शन -1) पर ले जाता है. अगर --force पास नहीं हो जाता है, तो रोल बैक करने से पहले, Y/N प्रॉम्प्ट दिखेगा.