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

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

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

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

Firebase CLI इंस्टॉल करना

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

Windows macOS Linux

Windows

Windows के लिए Firebase CLI को इंस्टॉल करने के लिए, इनमें से किसी एक विकल्प का इस्तेमाल करें:

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

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

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

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

  1. Google News ऐप्लिकेशन इसके लिए Firebase सीएलआई बाइनरी Windows.

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

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

एनपीएम

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

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

  2. npm की मदद से Firebase सीएलआई इंस्टॉल करने के लिए, यह कमांड चलाएं:

    npm install -g firebase-tools

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

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

macOS या Linux

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

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

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

विज्ञापनों के अपने-आप डिप्लॉयमेंट सीआई/सीडी वातावरण
स्टैंडअलोन बाइनरी सीएलआई के लिए स्टैंडअलोन बाइनरी डाउनलोड करें. इसके बाद, ये काम किए जा सकते हैं अपने वर्कफ़्लो के हिसाब से बाइनरी को कॉन्फ़िगर करें और चलाएं. सीएलआई का इस्तेमाल करके, पूरी तरह से पसंद के मुताबिक वर्कफ़्लो
एनपीएम सीएलआई इंस्टॉल करने और दुनिया भर में उपलब्ध firebase कमांड को चालू करने के लिए, npm (Node Package Manager) का इस्तेमाल करें. इसका इस्तेमाल करने वाले डेवलपर 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. अपने पाथ.
  3. लॉग इन करें और सीएलआई की जांच करें.

एनपीएम

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

  1. 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 प्रोजेक्ट की सूची बनाकर, यह जांच करें कि CLI सही तरीके से इंस्टॉल है या नहीं और वह आपके खाते को ऐक्सेस कर रहा है या नहीं. नीचे दिया गया निर्देश चलाएं:

    firebase projects:list

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

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

आम तौर पर, Firebase CLI का सबसे नया वर्शन इस्तेमाल करना चाहिए.

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

शीशा

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 प्रोजेक्ट को शुरू करना

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

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

firebase init

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

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

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

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

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

    यह भी मुमकिन है कि एक से ज़्यादा Firebase प्रोजेक्ट असोसिएट करना (जैसे कि स्टेजिंग प्रोजेक्ट और प्रोडक्शन प्रोजेक्ट) और उनका इस्तेमाल एक ही प्रोजेक्ट में हो सकता है डायरेक्ट्री.

शुरू करने की प्रोसेस पूरी होने पर, Firebase अपने-आप ये दो वेब सुविधाएं बना देता है फ़ाइलें:

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

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

firebase.json फ़ाइल

firebase init कमांड से firebase.json कॉन्फ़िगरेशन फ़ाइल को आपकी प्रोजेक्ट डायरेक्ट्री के रूट में रखें.

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

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

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

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

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

एक से ज़्यादा Cloud Firestore डेटाबेस के लिए कॉन्फ़िगरेशन

firebase init चलाने पर, आपकी firebase.json फ़ाइल में सिर्फ़ एक आपके प्रोजेक्ट के डिफ़ॉल्ट डेटाबेस से जुड़ी firestore कुंजी, जैसा कि दिखाया गया है पढ़ें.

अगर आपके प्रोजेक्ट में एक से ज़्यादा Cloud Firestore डेटाबेस हैं, तो अपने प्रोजेक्ट में बदलाव करें firebase.json फ़ाइल को अलग-अलग Cloud Firestore Security Rules और हम हर डेटाबेस के साथ सोर्स फ़ाइलों को डेटाबेस इंडेक्स करते हैं. फ़ाइल में बदलाव करके, उसे JSON कलेक्शन में बदलें. इसमें हर डेटाबेस के लिए एक एंट्री होनी चाहिए.

      "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 Hosting के लिए डाइनैमिक कॉन्टेंट जनरेट करने के लिए Cloud Functions का इस्तेमाल करें. साथ ही, आपको किसी लोकल यूआरएल पर Hosting को एमुलेट करने के लिए, प्रोडक्शन (डिप्लॉय किए गए) एचटीटीपी फ़ंक्शन का इस्तेमाल करना है.
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 Hosting साइट की नई रिलीज़
  • नया, अपडेट किया गया या मौजूदा Cloud Functions for Firebase
  • Firebase Data Connect के लिए, नए या अपडेट किए गए स्कीमा और कनेक्टर
  • Firebase Realtime Database के लिए नियम
  • Cloud Storage for Firebase के लिए नियम
  • Cloud Firestore के लिए नियम
  • Cloud Firestore के लिए इंडेक्स

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

firebase deploy

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

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

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

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

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

सुरक्षा नियमों के लिए डिप्लॉयमेंट से जुड़ी समस्याएं

Firebase Realtime Database, Cloud Storage for Firebase, और Cloud Firestore के लिए, आप सुरक्षा नियमों को अपनी लोकल प्रोजेक्ट डायरेक्ट्री में या Firebase कंसोल.

डिप्लॉयमेंट के दौरान होने वाले विवादों से बचने का एक और विकल्प यह है कि कुछ हद तक डिप्लॉयमेंट का इस्तेमाल करें और Firebase कंसोल.

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

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

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

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

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

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

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

firebase deploy --only hosting,storage

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

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

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

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

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

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

उदाहरण के लिए, groupA और a groupB:

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

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

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

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

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

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

firebase deploy --only functions:groupA

इसके अलावा, किसी ग्रुप में मौजूद किसी फ़ंक्शन को टारगेट करने के लिए, यह कमांड चलाएं:

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

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

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

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

    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 में बदलें और पोस्टडिप्लॉय हुक इस बारे में सूचना दे सकता है नई साइट के कॉन्टेंट के एडमिन Firebase Hosting पर डिप्लॉय होते हैं.

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

उदाहरण के लिए, यहां दी गई स्क्रिप्ट, डिप्लॉयमेंट के बाद होने वाले टास्क के लिए firebase.json एक्सप्रेशन है. यह टास्क, डिप्लॉयमेंट के बाद Firebase Hosting को 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 स्क्रिप्ट के लिए) उस डायरेक्ट्री की जगह की जानकारी जिसमें Hosting या Cloud Functions संसाधन डिप्लॉय किए जाएंगे

एक से ज़्यादा Realtime Database इंस्टेंस मैनेज करें

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

हालांकि, --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 खाते से सीएलआई को साइन आउट करता है.
open प्रोजेक्ट के काम के संसाधनों के लिए ब्राउज़र खोलता है.
प्रोजेक्ट:सूची यह उन सभी Firebase प्रोजेक्ट की सूची बनाता है जिनका ऐक्सेस आपके पास है.
इस्तेमाल करें CLI के लिए चालू Firebase प्रोजेक्ट सेट करता है.
प्रोजेक्ट के दूसरे नाम मैनेज करता है.

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

आदेश ब्यौरा
Firebase प्रोजेक्ट का मैनेजमेंट
projects:addfirebase मौजूदा Google Cloud प्रोजेक्ट में Firebase संसाधन जोड़ता है.
projects:create नया Google Cloud प्रोजेक्ट बनाता है. इसके बाद, नए प्रोजेक्ट में Firebase संसाधन जोड़ता है.
projects:list यह उन सभी Firebase प्रोजेक्ट की सूची बनाता है जिनका ऐक्सेस आपके पास है.
Firebase ऐप्लिकेशन का मैनेजमेंट (iOS, Android, वेब)
apps:बनाएं चालू प्रोजेक्ट में नया Firebase ऐप्लिकेशन बनाता है.
apps:list यह, चालू प्रोजेक्ट में रजिस्टर किए गए Firebase ऐप्लिकेशन की सूची बनाता है.
apps: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 ऐप्लिकेशन.

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

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

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

App Distribution निर्देश

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

App Hosting निर्देश

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

Authentication (यूज़र मैनेजमेंट) निर्देश

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

Cloud Firestore निर्देश

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

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

firestore:databases:create DATABASE_ID

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

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

  • --location <region name> की वैल्यू डेटाबेस के डिप्लॉयमेंट की जगह की जानकारी. ध्यान दें कि आप दौड़ सकते हैं firebasefirestore: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:update 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_ID का इस्तेमाल करें. अगर आपने तय नहीं किए जाने पर, दस्तावेज़ डिफ़ॉल्ट डेटाबेस से मिटा दिए जाते हैं. ज़रूरी नहीं.

Cloud Functions for Firebase निर्देश

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

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

Crashlytics निर्देश

आदेश ब्यौरा
crashlytics:mappingfile:generateid \
--संसाधन-फ़ाइल=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
नेटिव लाइब्रेरी के लिए, Crashlytics के साथ काम करने वाली सिंबल फ़ाइल जनरेट करता है Android पर क्रैश हो जाता है और उसे Firebase सर्वर पर अपलोड कर देता है.

Data Connect निर्देश

इन निर्देशों और उनके इस्तेमाल के उदाहरणों के बारे में ज़्यादा जानकारी, Data Connect सीएलआई रेफ़रंस गाइड में दी गई है.

आदेश ब्यौरा
dataconnect:services:सूची यह सूची, आपके Firebase में डिप्लॉय की गई Data Connect सेवाओं की सूची दिखाती है प्रोजेक्ट.
dataconnect:sql:diff \
SERVICE_ID
किसी बताई गई सेवा के लिए, लोकल इन्वेंट्री विज्ञापन के बीच अंतर दिखाता है Data Connect स्कीमा और आपके Cloud SQL डेटाबेस स्कीमा.
dataconnect:sql:माइग्रेट करें \
--बल \
SERVICE_ID
आपके स्थानीय Data Connect स्कीमा से मैच करने के लिए, आपके Cloud SQL डेटाबेस के स्कीमा को माइग्रेट करता है.
dataconnect:sql:grant\
--role=ROLE \
--email=EMAIL \
SERVICE_ID
दिए गए उपयोगकर्ता या सेवा खाते के ईमेल पते को SQL की भूमिका देता है.
--role फ़्लैग के लिए, SQL भूमिका इनमें से कोई एक होनी चाहिए: owner, writer या reader.
--email फ़्लैग के लिए, उस उपयोगकर्ता या सेवा खाते का ईमेल पता डालें जिसे भूमिका देनी है.
dataconnect:sdk:generate यह आपके Data Connect कनेक्टर के लिए, टाइप किए गए SDK टूल जनरेट करता है.

Extensions निर्देश

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

Extensions पब्लिशर के निर्देश

आदेश ब्यौरा
ext:dev:init मौजूदा डायरेक्ट्री में, नए एक्सटेंशन के लिए स्केलेटन कोडबेस को शुरू करता है.
ext:dev:list \
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:upload \
PUBLISHER_ID/EXTENSION_ID
किसी एक्सटेंशन का नया वर्शन अपलोड करता है.
ext:dev:usage \
PUBLISHER_ID
किसी पब्लिशर के अपलोड किए गए एक्सटेंशन के लिए, इंस्टॉल की संख्या और इस्तेमाल से जुड़ी मेट्रिक दिखाता है.

Hosting निर्देश

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

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

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

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

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

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

firebase hosting:sites:delete \
SITE_ID

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

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

(ज़रूरी नहीं) ये फ़्लैग: -f या --force

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

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

firebase hosting:sites:list

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

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

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

यह निर्देश, चैनल पर लागू नहीं होता.

firebase hosting:channel:delete \
CHANNEL_ID

बताया गया झलक चैनल मिटाता है

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

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

आपके Hosting कॉन्टेंट और कॉन्फ़िगरेशन को बताए गए पर डिप्लॉय करता है चैनल की झलक देखें

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

firebase hosting:channel:list यह डायलॉग बॉक्स में सभी चैनलों ("लाइव" चैनल सहित) की सूची होती है डिफ़ॉल्ट Hosting साइट
Firebase होस्टिंग:channel:open \
CHANNEL_ID
यह ब्राउज़र को, चैनल के यूआरएल पर ले जाता है या यूआरएल को दिखाता है अगर ब्राउज़र में नहीं खोला जा सकता है
वर्शन को क्लोन करना
Firebase होस्टिंग:क्लोन \
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 साइट में एक नया झलक चैनल बनाता है.

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

Realtime Database निर्देश

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

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

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