Firebase सीएलआई के बारे में जानकारी

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

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

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

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

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

Windows macOS Linux

Windows

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

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

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

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

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

  1. यह cURL निर्देश चलाएं:

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

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

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

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

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

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

  1. अपने OS के लिए, 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 के सबसे अप-टू-डेट सीएलआई वर्शन का इस्तेमाल करना होता है.

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

शीशा

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 फ़ाइल जिसमें आपके प्रोजेक्ट के उपनाम सेव किए जाते हैं.

firebase.json फ़ाइल

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

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

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

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

{
  "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"
        }
      ],

परिनियोजन पर अनदेखा करने के लिए Cloud Functions फ़ाइलें

फ़ंक्शन डिप्लॉयमेंट के समय, सीएलआई अपने-आप 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 उपनाम असाइन किए हैं. अगर आपको उस 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

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

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

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

    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 कमांड से कनेक्ट किया जा सकता है. उदाहरण के लिए, पहले से डिप्लॉय की गई स्क्रिप्ट, TypeScript कोड को JavaScript में ट्रांसपाइल कर सकती है. साथ ही, PostDeploy हुक से एडमिन को यह सूचना मिल सकती है कि कोई नया साइट कॉन्टेंट, 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 Functions के संसाधन शामिल हैं

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

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

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

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

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

सीएलआई एडमिन के निर्देश

आदेश जानकारी
सहायता सीएलआई या खास निर्देशों के बारे में सहायता जानकारी दिखाता है.
इनिट मौजूदा डायरेक्ट्री में एक नया 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:बनाएं चालू प्रोजेक्ट में एक नया Firebase ऐप्लिकेशन बनाता है.
apps:सूची यह, चालू प्रोजेक्ट में रजिस्टर किए गए Firebase ऐप्लिकेशन की सूची बनाता है.
apps:sdkconfig इससे Firebase ऐप्लिकेशन के Google की सेवाओं के कॉन्फ़िगरेशन को प्रिंट किया जाता है.
सेटअप:वेब अब काम नहीं करता. इसके बजाय, apps:sdkconfig का इस्तेमाल करें और web को प्लैटफ़ॉर्म आर्ग्युमेंट के तौर पर बताएं.
Firebase वेब ऐप्लिकेशन के Google की सेवाओं के कॉन्फ़िगरेशन को प्रिंट करता है.
SHA सर्टिफ़िकेट हैश का मैनेजमेंट (सिर्फ़ Android पर)
apps:android:sha:create \
FIREBASE_APP_ID SHA_HASH
Firebase के Android ऐप्लिकेशन में, बताए गए SHA सर्टिफ़िकेट हैश को जोड़ता है.
apps:android:sha:delete \
FIREBASE_APP_ID SHA_HASH
Firebase के Android ऐप्लिकेशन से, तय किए गए SHA सर्टिफ़िकेट हैश को मिटाता है.
apps:android:sha:list \
FIREBASE_APP_ID
यह 'Firebase Android ऐप्लिकेशन' के लिए SHA सर्टिफ़िकेट हैश की सूची बनाता है.

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

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

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

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

आदेश जानकारी
app Distribution:डिस्ट्रिब्यूट \
--ऐप्लिकेशन FIREBASE_APP_ID
बिल्ड को टेस्टर के लिए उपलब्ध कराता है.
app Distribution:testers:add प्रोजेक्ट में टेस्टर जोड़ता है.
app Distribution:testers:remove प्रोजेक्ट से टेस्टर को हटा देता है.

ऐप्लिकेशन होस्टिंग के निर्देश

आदेश जानकारी
apphosting:backends:create \
--प्रोजेक्ट PROJECT_ID
--location REGION --ऐप्लिकेशन APP_ID
यह एक ऐसे कोड बेस से जुड़े, मैनेज किए जा रहे रिसॉर्स का कलेक्शन बनाता है जिसमें ऐप्लिकेशन होस्टिंग बैकएंड शामिल होता है. इसके अलावा, किसी मौजूदा Firebase वेब ऐप्लिकेशन की जानकारी देने के लिए, उसका Firebase ऐप्लिकेशन आईडी भी दिया जा सकता है.
apphosting:backends:get \ BACKEND_ID
--प्रोजेक्ट PROJECT_ID
--जगह REGION
इसकी मदद से, किसी बैकएंड के सार्वजनिक यूआरएल के साथ-साथ खास जानकारी हासिल की जाती है.
apphosting:backends:list \
--प्रोजेक्ट PROJECT_ID
किसी प्रोजेक्ट से जुड़े सभी ऐक्टिव बैकएंड की सूची हासिल करता है.
Firebase apphosting:backends:delete \ BACKEND_ID
--प्रोजेक्ट PROJECT_ID
--location REGION
प्रोजेक्ट से बैकएंड मिटाता है.
apphosting:secrets:set \
KEY --प्रोजेक्ट PROJECT_ID
--location REGION --डेटा-फ़ाइल Data file
यह सीक्रेट मैनेजर में सीक्रेट कॉन्टेंट सेव करता है. आप चाहें, तो सीक्रेट डेटा को पढ़ने के लिए फ़ाइल का पाथ दें. स्टैंडर्ड इनपुट का सीक्रेट डेटा पढ़ने के लिए, _ पर सेट करें.
apphosting:secrets:grantaccess \
KEY --प्रोजेक्ट PROJECT_ID BACKEND_ID
--जगह REGION
दिए गए सीक्रेट का बैकएंड सेवा खाते को ऐक्सेस देता है, ताकि ऐप्लिकेशन होस्टिंग की मदद से उसे बिल्ड या रन टाइम के समय ऐक्सेस किया जा सके.
apphosting:secrets:describe \
KEY --project PROJECT_ID
सीक्रेट और उसके वर्शन के लिए मेटाडेटा देता है.
Firebase apphosting:secrets:access \
KEY[@version]
--प्रोजेक्ट PROJECT_ID
सीक्रेट और उसके वर्शन के आधार पर सीक्रेट वैल्यू ऐक्सेस करता है. डिफ़ॉल्ट रूप से, सबसे नए वर्शन को ऐक्सेस किया जाता है.

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

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

Cloud Firestore के लिए निर्देश

आदेश जानकारी
फ़ायरस्टोर:लोकेशन

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

firestore:databases:create DATABASE_ID

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

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

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

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

firestore:databases:get DATABASE_ID

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

firestore:databases:अपडेट DATABASE_ID

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

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

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

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

फ़ायरस्टोर:इंडेक्स

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

आदेश निम्न फ़्लैग लेता है:

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

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

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

आदेश निम्न फ़्लैग लेता है:

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

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

आदेश जानकारी
Functions:config:clone किसी अन्य प्रोजेक्ट के एनवायरमेंट को चालू Firebase प्रोजेक्ट में क्लोन करता है.
फ़ंक्शन:config:get ऐक्टिव प्रोजेक्ट के Cloud Functions की मौजूदा कॉन्फ़िगरेशन वैल्यू को हासिल करता है.
फ़ंक्शन:कॉन्फ़िगरेशन:सेट चालू प्रोजेक्ट के Cloud Functions की रनटाइम कॉन्फ़िगरेशन वैल्यू को सेव करता है.
फ़ंक्शन:कॉन्फ़िगरेशन:अनसेट चालू प्रोजेक्ट के रनटाइम कॉन्फ़िगरेशन से वैल्यू हटाता है.
फ़ंक्शन:लॉग डिप्लॉय किए गए 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:सिंबल:अपलोड \
--ऐप्लिकेशन=FIREBASE_APP_ID \
PATH/TO/SYMBOLS
यह Android पर नेटिव लाइब्रेरी के क्रैश होने पर, Crashlytics के साथ काम करने वाली सिंबल फ़ाइल जनरेट करता है और उसे Firebase सर्वर पर अपलोड करता है.

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

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

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

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

यह डायलॉग बॉक्स चालू 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 होस्टिंग:क्लोन \
SOURCE_SITE_ID:@VERSION_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

तय किए गए वर्शन को, दिए गए "टारगेट" चैनल पर क्लोन करता है

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

आपको Firebase कंसोल के होस्टिंग डैशबोर्ड में VERSION_ID मिल सकता है.

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

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

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

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