Firebase CLI (GitHub) में, Firebase प्रोजेक्ट को मैनेज करने, देखने, और उन्हें डिप्लॉय करने के लिए कई टूल उपलब्ध होते हैं.
Firebase CLI का इस्तेमाल करने से पहले, Firebase प्रोजेक्ट सेट अप करें.
सीएलआई सेट अप करना या अपडेट करना
Firebase सीएलआई इंस्टॉल करना
Firebase CLI को इंस्टॉल करने के लिए, अपने ऑपरेटिंग सिस्टम, अनुभव के लेवल, और/या इस्तेमाल के उदाहरण के हिसाब से कोई तरीका अपनाएं. सीएलआई को किसी भी तरीके से इंस्टॉल करने पर, आपके पास एक जैसी सुविधाएं और firebase
कमांड का ऐक्सेस होता है.
Windows
Windows के लिए Firebase CLI को इंस्टॉल करने के लिए, इनमें से किसी एक विकल्प का इस्तेमाल करें:
विकल्प | जानकारी | इनके लिए सुझाया गया... |
---|---|---|
स्टैंडअलोन बाइनरी | सीएलआई के लिए स्टैंडअलोन बाइनरी डाउनलोड करें. इसके बाद, एक शेल खोलने के लिए, रन किए जा सकने वाले प्रोग्राम को ऐक्सेस किया जा सकता है. इस शेल में, firebase कमांड चलाया जा सकता है.
|
नए डेवलपर ऐसे डेवलपर जो Node.js का इस्तेमाल नहीं करते या जिनके पास इसके बारे में जानकारी नहीं है |
npm | सीएलआई इंस्टॉल करने और दुनिया भर में उपलब्ध firebase कमांड को चालू करने के लिए, npm (Node Package Manager) का इस्तेमाल करें.
|
Node.js का इस्तेमाल करने वाले डेवलपर |
स्टैंडअलोन बाइनरी
Firebase सीएलआई के लिए बाइनरी डाउनलोड करने और उसे चलाने के लिए, यह तरीका अपनाएं:
Firebase Windows के लिए सीएलआई बाइनरी डाउनलोड करें.
बाइनरी को ऐक्सेस करके, वह शेल खोलें जहां
firebase
कमांड चलाया जा सकता है.
npm
Firebase CLI को इंस्टॉल करने के लिए, npm
(Node Package Manager) का इस्तेमाल करने के लिए, यह तरीका अपनाएं:
nvm-windows (Node वर्शन मैनेजर) का इस्तेमाल करके, Node.js इंस्टॉल करें. Node.js इंस्टॉल करने पर,
npm
कमांड टूल अपने-आप इंस्टॉल हो जाते हैं.npm
की मदद से Firebase सीएलआई इंस्टॉल करने के लिए, यह कमांड चलाएं:npm install -g firebase-tools
यह निर्देश, दुनिया भर में उपलब्ध
firebase
निर्देश को चालू करता है.
macOS या Linux
macOS या Linux के लिए Firebase CLI को इंस्टॉल करने के लिए, इनमें से किसी एक विकल्प का इस्तेमाल करें:
विकल्प | जानकारी | इनके लिए सुझाया गया... |
---|---|---|
अपने-आप इंस्टॉल होने वाली स्क्रिप्ट | एक ही निर्देश चलाएं, जो आपके ऑपरेटिंग सिस्टम का पता लगाता है,
सीएलआई का नया वर्शन डाउनलोड करता है, और फिर दुनिया भर में उपलब्ध
firebase निर्देश को चालू करता है.
|
नए डेवलपर ऐसे डेवलपर जो Node.js का इस्तेमाल नहीं करते या जिनके पास इसके बारे में जानकारी नहीं है CI/CD वाले एनवायरमेंट में, अपने-आप डिप्लॉय होने की सुविधा |
स्टैंडअलोन बाइनरी | सीएलआई के लिए स्टैंडअलोन बाइनरी डाउनलोड करें. इसके बाद, अपने वर्कफ़्लो के हिसाब से, बिटरी को कॉन्फ़िगर और चलाया जा सकता है. | CLI का इस्तेमाल करके, अपनी पसंद के मुताबिक बनाए जा सकने वाले वर्कफ़्लो |
npm | सीएलआई इंस्टॉल करने और दुनिया भर में उपलब्ध firebase कमांड को चालू करने के लिए, npm (Node Package Manager) का इस्तेमाल करें.
|
Node.js का इस्तेमाल करने वाले डेवलपर |
ऑटो इंस्टॉल स्क्रिप्ट
अपने-आप इंस्टॉल होने वाली स्क्रिप्ट का इस्तेमाल करके Firebase CLI इंस्टॉल करने के लिए, यह तरीका अपनाएं:
cURL का यह कमांड चलाएं:
curl -sL https://firebase.tools | bash
यह स्क्रिप्ट आपके ऑपरेटिंग सिस्टम का अपने-आप पता लगाती है और Firebase CLI की नई रिलीज़ डाउनलोड करती है. इसके बाद, दुनिया भर में उपलब्ध
firebase
कमांड को चालू करती है.
अपने-आप इंस्टॉल होने वाली स्क्रिप्ट के बारे में ज़्यादा उदाहरण और जानकारी पाने के लिए, firebase.tools पर स्क्रिप्ट का सोर्स कोड देखें.
स्टैंडअलोन बाइनरी
अपने ओएस के लिए बने Firebase CLI की बाइनरी को डाउनलोड और चलाने के लिए, यह तरीका अपनाएं:
अपने ओएस के लिए Firebase सीएलआई बाइनरी डाउनलोड करें: macOS | Linux
(ज़रूरी नहीं) दुनिया भर में उपलब्ध
firebase
कमांड सेट अप करें.chmod +x ./firebase_tools
चलाकर, बाइनरी को एक्सीक्यूटेबल बनाएं.- अपने PATH में बाइनरी का पाथ जोड़ें.
npm
Firebase सीएलआई इंस्टॉल करने के लिए, npm
(Node Package Manager) का इस्तेमाल करने के लिए, यह तरीका अपनाएं:
लॉग इन करके Firebase सीएलआई को टेस्ट करना
सीएलआई इंस्टॉल करने के बाद, आपको पुष्टि करनी होगी. इसके बाद, अपने Firebase प्रोजेक्ट की सूची बनाकर पुष्टि की जा सकती है.
अपने Google खाते का इस्तेमाल करके Firebase में लॉग इन करने के लिए, यह कमांड चलाएं:
firebase login
यह कमांड आपकी लोकल मशीन को Firebase से कनेक्ट करता है और आपको अपने Firebase प्रोजेक्ट का ऐक्सेस देता है.
अपने Firebase प्रोजेक्ट की सूची बनाकर, यह जांच करें कि CLI सही तरीके से इंस्टॉल है या नहीं और वह आपके खाते को ऐक्सेस कर रहा है या नहीं. यह कमांड चलाएं:
firebase projects:list
दिखाई गई सूची, Firebase कंसोल में मौजूद Firebase प्रोजेक्ट की सूची से मेल खानी चाहिए.
सीएलआई के नए वर्शन पर अपडेट करना
आम तौर पर, Firebase CLI का सबसे नया वर्शन इस्तेमाल करना चाहिए.
सीएलआई का वर्शन अपडेट करने का तरीका, आपके ऑपरेटिंग सिस्टम और सीएलआई को इंस्टॉल करने के तरीके पर निर्भर करता है.
शीशा
- स्टैंडअलोन बाइनरी: नया वर्शन डाउनलोड करें. इसके बाद, अपने सिस्टम पर इसे बदलें
- npm:
npm install -g firebase-tools
चलाएं
macOS
- अपने-आप इंस्टॉल होने वाली स्क्रिप्ट:
curl -sL https://firebase.tools | upgrade=true bash
चलाएं - स्टैंडअलोन बाइनरी: नया वर्शन डाउनलोड करें. इसके बाद, अपने सिस्टम पर इसे बदलें
- npm:
npm install -g firebase-tools
चलाएं
Linux
- अपने-आप इंस्टॉल होने वाली स्क्रिप्ट:
curl -sL https://firebase.tools | upgrade=true bash
चलाएं - स्टैंडअलोन बाइनरी: नया वर्शन डाउनलोड करें. इसके बाद, अपने सिस्टम पर इसे बदलें
- npm:
npm install -g firebase-tools
चलाएं
सीआई सिस्टम के साथ सीएलआई का इस्तेमाल करना
Firebase CLI की मदद से पुष्टि करने के लिए, ब्राउज़र की ज़रूरत होती है. हालांकि, यह CLI, CI और दूसरे हेडलेस एनवायरमेंट के साथ पूरी तरह से काम करता है.
ब्राउज़र वाली मशीन पर, Firebase सीएलआई इंस्टॉल करें.
साइन इन करने की प्रोसेस शुरू करने के लिए, यह कमांड चलाएं:
firebase login:ci
दिए गए यूआरएल पर जाएं. इसके बाद, Google खाते का इस्तेमाल करके लॉग इन करें.
नया रीफ़्रेश टोकन प्रिंट करें. मौजूदा सीएलआई सेशन पर इसका कोई असर नहीं पड़ेगा.
आउटपुट टोकन को अपने सीआई सिस्टम में सुरक्षित तरीके से सेव करें, ताकि उसे आसानी से ऐक्सेस किया जा सके.
firebase
निर्देश चलाते समय, इस टोकन का इस्तेमाल करें. इनमें से किसी एक विकल्प का इस्तेमाल किया जा सकता है:पहला विकल्प: टोकन को एनवायरमेंट वैरिएबल के तौर पर सेव करें
FIREBASE_TOKEN
. आपका सिस्टम, टोकन का इस्तेमाल अपने-आप करेगा.दूसरा विकल्प: अपने सीआई सिस्टम में,
firebase
कमांड को--token TOKEN
फ़्लैग के साथ चलाएं.
टोकन लोड करने का क्रम यह है: फ़्लैग, एनवायरमेंट वैरिएबल, पसंदीदा Firebase प्रोजेक्ट.
Firebase प्रोजेक्ट को शुरू करना
CLI का इस्तेमाल करके किए जाने वाले कई सामान्य कामों के लिए, प्रोजेक्ट डायरेक्ट्री की ज़रूरत होती है. जैसे, Firebase प्रोजेक्ट में डिप्लॉय करना. firebase init
कमांड का इस्तेमाल करके, प्रोजेक्ट डायरेक्ट्री बनाई जाती है. आम तौर पर, प्रोजेक्ट डायरेक्ट्री और सोर्स कंट्रोल रूट एक ही होती है. firebase init
को चलाने के बाद, डायरेक्ट्री में firebase.json
कॉन्फ़िगरेशन फ़ाइल होती है.
नया Firebase प्रोजेक्ट शुरू करने के लिए, अपने ऐप्लिकेशन की डायरेक्ट्री में जाकर यह कमांड चलाएं:
firebase init
firebase init
कमांड की मदद से, अपनी प्रोजेक्ट डायरेक्ट्री और कुछ Firebase प्रॉडक्ट सेट अप किए जा सकते हैं. प्रोजेक्ट शुरू करने के दौरान, Firebase CLI आपसे ये टास्क पूरे करने के लिए कहता है:
अपने 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
फ़ाइल में, डिप्लॉय करने से पहले या डिप्लॉय करने के बाद ट्रिगर होने वाले हुक भी सेट अप किए जा सकते हैं.
यहां 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 डेटाबेस हैं, तो हर डेटाबेस के साथ अलग-अलग Cloud Firestore Security Rules और डेटाबेस इंडेक्स सोर्स फ़ाइलों को जोड़ने के लिए, अपनी 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 \ |
सभी निर्देशों को, दिए गए Firebase प्रोजेक्ट के लिए चलाने का निर्देश देता है.
सीएलआई, इस प्रोजेक्ट का इस्तेमाल फ़िलहाल "चालू प्रोजेक्ट" के तौर पर करता है. |
firebase use --clear |
इससे, चालू प्रोजेक्ट हट जाता है.
सीएलआई के अन्य निर्देशों को चलाने से पहले, नया चालू प्रोजेक्ट सेट करने के लिए |
firebase use \ |
आपकी प्रोजेक्ट डायरेक्ट्री से किसी दूसरे नाम को हटाता है. |
किसी भी सीएलआई कमांड के साथ --project
फ़्लैग पास करके, मौजूदा चालू प्रोजेक्ट को बदला जा सकता है. उदाहरण के लिए: आपके पास अपने सीएलआई को उस Firebase प्रोजेक्ट के लिए सेट करने का विकल्प है जिसे आपने staging
के नाम से असाइन किया है. अगर आपको उस Firebase प्रोजेक्ट के लिए एक ही कमांड चलाना है जिसे आपने 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 CLI, आपके 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
और 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
कॉन्फ़िगरेशन फ़ाइल में bash स्क्रिप्ट जोड़ें. 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
कमांड का रेफ़रंस
सीएलआई के एडमिन कमांड
आदेश | ब्यौरा |
---|---|
सहायता | सीएलआई या खास कमांड के बारे में सहायता जानकारी दिखाता है. |
init | मौजूदा डायरेक्ट्री में नया Firebase प्रोजेक्ट असोसिएट और सेट अप करता है.
यह कमांड, मौजूदा डायरेक्ट्री में एक
firebase.json
कॉन्फ़िगरेशन फ़ाइल बनाता है. |
login | आपके Firebase खाते के लिए, CLI की पुष्टि करता है. आपके पास किसी
वेब ब्राउज़र का ऐक्सेस होना चाहिए. रिमोट एनवायरमेंट में क्लाइंट-लाइन इंटरफ़ेस (सीएलआई) में लॉग इन करने के लिए, --no-localhost localhost को ऐक्सेस करने की अनुमति नहीं है. |
login:ci | यह ऐसे एनवायरमेंट में इस्तेमाल करने के लिए, पुष्टि करने वाला टोकन जनरेट करता है जहां इंटरैक्शन की ज़रूरत नहीं होती. |
लॉगआउट करें | आपके Firebase खाते से CLI को साइन आउट करता है. |
open | प्रोजेक्ट के काम के संसाधनों के लिए ब्राउज़र खोलता है. |
projects:list | उन सभी Firebase प्रोजेक्ट की सूची दिखाता है जिनका ऐक्सेस आपके पास है. |
use | CLI के लिए चालू Firebase प्रोजेक्ट सेट करता है. प्रोजेक्ट के दूसरे नाम मैनेज करता है. |
प्रोजेक्ट मैनेजमेंट से जुड़े निर्देश
आदेश | ब्यौरा | |
---|---|---|
Firebase प्रोजेक्ट मैनेज करना | ||
projects:addfirebase | किसी मौजूदा Google Cloud प्रोजेक्ट में Firebase संसाधन जोड़ता है. | |
projects:create | नया Google Cloud प्रोजेक्ट बनाता है. इसके बाद, नए प्रोजेक्ट में Firebase संसाधन जोड़ता है. | |
projects:list | उन सभी Firebase प्रोजेक्ट की सूची दिखाता है जिनका ऐक्सेस आपके पास है. | |
Firebase ऐप्लिकेशन (iOS, Android, वेब) को मैनेज करना | ||
apps:create | चालू प्रोजेक्ट में नया 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 |
यह, दिए गए 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 Hosting साइट को डिप्लॉय किया जा सकता है और उससे इंटरैक्ट किया जा सकता है.
आदेश | ब्यौरा |
---|---|
डिप्लॉय करना | आपकी प्रोजेक्ट डायरेक्ट्री से कोड और ऐसेट को ऐक्टिव प्रोजेक्ट में डिप्लॉय करता है. Firebase Hosting के लिए, firebase.json
कॉन्फ़िगरेशन फ़ाइल ज़रूरी है.
|
serve | आपके Firebase Hosting कॉन्फ़िगरेशन के साथ एक स्थानीय वेब सर्वर शुरू करता है.
Firebase Hosting के लिए, firebase.json
कॉन्फ़िगरेशन फ़ाइल ज़रूरी है. |
App Distribution निर्देश
आदेश | ब्यौरा |
---|---|
appdistribution:distribute \ --app 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 PROJECT_ID \ --location REGION |
बैकएंड की खास जानकारी दिखाता है. इसमें सार्वजनिक यूआरएल भी शामिल है. |
apphosting:backends:list \ --project PROJECT_ID |
किसी प्रोजेक्ट से जुड़े सभी चालू बैकएंड की सूची दिखाता है. |
firebase apphosting:backends:delete \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
प्रोजेक्ट से बैकएंड मिटाता है. |
firebase apphosting:config:export \ --project PROJECT_ID \ --secrets ENVIRONMENT_NAME |
ऐप्लिकेशन इम्यूलेशन में इस्तेमाल करने के लिए, सीक्रेट एक्सपोर्ट करता है. डिफ़ॉल्ट रूप से, apphosting.yaml में सेव किए गए पासवर्ड का इस्तेमाल किया जाता है. इसके अलावा, किसी भी ऐसे एनवायरमेंट के लिए --secrets का इस्तेमाल किया जा सकता है जिसमें संबंधित apphosting.ENVIRONMENT_NAME.yaml फ़ाइल मौजूद हो.
|
firebase apphosting:rollouts:create \ BACKEND_ID \ --git_branch BRANCH_NAME \ --git_commit COMMIT_ID |
मैन्युअल तरीके से ट्रिगर किया गया रोल आउट बनाता है. इसके अलावा, किसी शाखा या किसी खास कमिट के लिए, सबसे हाल ही का कमिट तय किया जा सकता है. अगर कोई विकल्प नहीं दिया गया है, तो शाखाओं की सूची से कोई विकल्प चुनने के लिए कहा जाएगा. |
apphosting:secrets:set
KEY
--project PROJECT_ID \ --location REGION \ --data-file DATA_FILE_PATH |
Secret Manager में गोपनीय कॉन्टेंट सेव करता है. इसके अलावा, आपके पास किसी फ़ाइल का पाथ देने का विकल्प भी होता है, ताकि उससे गोपनीय डेटा पढ़ा जा सके. स्टैंडर्ड इनपुट से गोपनीय डेटा पढ़ने के लिए, इसे _ पर सेट करें.
|
apphosting:secrets:grantaccess
KEY
BACKEND_ID \ --project PROJECT_ID \ --location REGION |
इससे, दिए गए गुप्त पासकोड का ऐक्सेस, बैकएंड सेवा खाते को मिल जाता है, ताकि उसे बिल्ड या रन टाइम पर App Hosting ऐक्सेस किया जा सके. |
apphosting:secrets:describe
KEY \ --project PROJECT_ID |
किसी सीक्रेट और उसके वर्शन का मेटाडेटा पाता है. |
firebase apphosting:secrets:access \ KEY[@version] \ --project PROJECT_ID |
सीक्रेट और उसके वर्शन के आधार पर, सीक्रेट वैल्यू ऐक्सेस करता है. डिफ़ॉल्ट रूप से, नए वर्शन को ऐक्सेस किया जाता है. |
Authentication (उपयोगकर्ता मैनेजमेंट) निर्देश
आदेश | ब्यौरा |
---|---|
auth:export | चालू प्रोजेक्ट के उपयोगकर्ता खातों को JSON या CSV फ़ाइल में एक्सपोर्ट करता है. ज़्यादा जानकारी के लिए, auth:import और auth:export पेज पर जाएं. |
auth:import | JSON या CSV फ़ाइल से उपयोगकर्ता खातों को चालू प्रोजेक्ट में इंपोर्ट करता है. ज़्यादा जानकारी के लिए, auth:import और auth:export पेज पर जाएं. |
Cloud Firestore निर्देश
आदेश | ब्यौरा |
---|---|
firestore:locations |
अपने Cloud Firestore डेटाबेस के लिए उपलब्ध जगहों की सूची बनाएं. |
firestore:databases:create DATABASE_ID |
अपने Firebase प्रोजेक्ट में, नेटिव मोड में डेटाबेस इंस्टेंस बनाएं. इस कमांड में ये फ़्लैग इस्तेमाल किए जा सकते हैं:
|
firestore:databases:list |
अपने Firebase प्रोजेक्ट में डेटाबेस की सूची बनाएं. |
firestore:databases:get DATABASE_ID |
अपने Firebase प्रोजेक्ट में किसी खास डेटाबेस के लिए, डेटाबेस कॉन्फ़िगरेशन पाएं. |
firestore:databases:update DATABASE_ID |
अपने Firebase प्रोजेक्ट में किसी खास डेटाबेस का डेटाबेस कॉन्फ़िगरेशन अपडेट करना. कम से कम एक फ़्लैग होना ज़रूरी है. इस कमांड में ये फ़्लैग इस्तेमाल किए जा सकते हैं:
|
firestore:databases:delete DATABASE_ID |
अपने Firebase प्रोजेक्ट में मौजूद डेटाबेस मिटाएं. |
firestore:indexes |
अपने Firebase प्रोजेक्ट में किसी डेटाबेस के लिए इंडेक्स की सूची बनाएं. यह कमांड, इस फ़्लैग के साथ काम करता है:
|
firestore:delete |
यह चालू प्रोजेक्ट के डेटाबेस में मौजूद दस्तावेज़ों को मिटा देता है. सीएलआई का इस्तेमाल करके, किसी कलेक्शन में मौजूद सभी दस्तावेज़ों को बार-बार मिटाया जा सकता है. ध्यान दें कि सीएलआई की मदद से Cloud Firestore डेटा मिटाने पर, डेटा को पढ़ने और मिटाने की लागत आती है. ज़्यादा जानकारी के लिए, Cloud Firestore बिलिंग सिस्टम के बारे में जानकारी देखें. यह कमांड, इस फ़्लैग के साथ काम करता है:
|
Cloud Functions for Firebase निर्देश
आदेश | ब्यौरा |
---|---|
functions:config:clone | किसी दूसरे प्रोजेक्ट के एनवायरमेंट को चालू Firebase प्रोजेक्ट में क्लोन करता है. |
functions:config:get | यह फ़ंक्शन, चालू प्रोजेक्ट के Cloud Functions की मौजूदा कॉन्फ़िगरेशन वैल्यू को वापस लाता है. |
functions:config:set | यह चालू प्रोजेक्ट के Cloud Functions के रनटाइम कॉन्फ़िगरेशन की वैल्यू सेव करता है. |
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:symbols:upload \ --app=FIREBASE_APP_ID \ PATH/TO/SYMBOLS |
Android पर नेटिव लाइब्रेरी के क्रैश होने पर, Crashlytics के साथ काम करने वाली सिंबल फ़ाइल जनरेट करता है और उसे Firebase सर्वर पर अपलोड करता है. |
Data Connect निर्देश
इन निर्देशों और उनके इस्तेमाल के उदाहरणों के बारे में ज़्यादा जानकारी, Data Connect सीएलआई रेफ़रंस गाइड में दी गई है.
आदेश | ब्यौरा |
---|---|
dataconnect:services:list | आपके Firebase प्रोजेक्ट में डिप्लॉय की गई सभी Data Connect सेवाओं की सूची दिखाता है. |
dataconnect:sql:diff \ SERVICE_ID |
यह किसी खास सेवा के लिए, स्थानीय Data Connect स्कीमा और आपके Cloud SQL डेटाबेस स्कीमा के बीच के अंतर दिखाता है. |
dataconnect:sql:migrate \ --force \ 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 निर्देश
आदेश | ब्यौरा |
---|---|
ext | 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 |
यह आपके एक्सटेंशन मेनिफ़ेस्ट में, एक्सटेंशन इंस्टेंस को नए वर्शन में अपडेट करता है. |
ext:export | यह आपके प्रोजेक्ट से, इंस्टॉल किए गए सभी एक्सटेंशन इंस्टेंस को एक्सटेंशन मेनिफ़ेस्ट में एक्सपोर्ट करता है. |
Extensions पब्लिशर के निर्देश
आदेश | ब्यौरा |
---|---|
ext:dev:init | मौजूदा डायरेक्ट्री में, नए एक्सटेंशन के लिए स्केलेटन कोडबेस को शुरू करता है. |
ext:dev:list \ PUBLISHER_ID |
पब्लिशर के अपलोड किए गए सभी एक्सटेंशन की सूची प्रिंट करता है. |
ext:dev:register | Firebase प्रोजेक्ट को एक्सटेंशन पब्लिशर प्रोजेक्ट के तौर पर रजिस्टर करता है. |
ext:dev:deprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
वर्शन प्रीडिकेट से मैच करने वाले एक्सटेंशन वर्शन को अमान्य कर देता है. वर्शन प्रेडिकेट, एक वर्शन (जैसे, 1.0.0 ) या वर्शन की रेंज (जैसे, >1.0.0 ) हो सकता है.अगर कोई वर्शन प्रेडिकेट नहीं दिया गया है, तो उस एक्सटेंशन के सभी वर्शन का इस्तेमाल नहीं किया जा सकता. |
ext:dev:undeprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
वर्शन प्रीडिकेट से मैच करने वाले एक्सटेंशन वर्शन को अनप्रेडिकेट करता है. वर्शन प्रीडिकेट, एक वर्शन (जैसे, 1.0.0 ) या वर्शन की रेंज (जैसे, >1.0.0 ) हो सकता है.अगर कोई वर्शन प्रीडिकेट नहीं दिया गया है, तो उस एक्सटेंशन के सभी वर्शन का इस्तेमाल किया जा सकता है. |
ext:dev:upload \ PUBLISHER_ID/EXTENSION_ID |
किसी एक्सटेंशन का नया वर्शन अपलोड करता है. |
ext:dev:usage \ PUBLISHER_ID |
किसी पब्लिशर के अपलोड किए गए एक्सटेंशन के लिए, इंस्टॉल की संख्या और इस्तेमाल से जुड़ी मेट्रिक दिखाता है. |
Hosting निर्देश
आदेश | ब्यौरा |
---|---|
hosting:disable |
चालू Firebase प्रोजेक्ट के लिए, Firebase Hosting ट्रैफ़िक दिखाना बंद कर देता है. इस कमांड को चलाने के बाद, आपके प्रोजेक्ट के Hosting यूआरएल पर "साइट नहीं मिली" मैसेज दिखेगा. |
Hosting साइटों को मैनेज करना | |
firebase hosting:sites:create \ SITE_ID |
दिए गए (ज़रूरी नहीं) नई साइट से जोड़ने के लिए, किसी मौजूदा Firebase वेब ऐप्लिकेशन की जानकारी दें. इसके लिए, यह फ़्लैग पास करें:
|
firebase hosting:sites:delete \ SITE_ID |
बताई गई Hosting साइट को मिटाता है साइट को मिटाने से पहले, सीएलआई पुष्टि करने के लिए प्रॉम्प्ट दिखाता है. (ज़रूरी नहीं) पुष्टि करने के लिए कहा जाने वाला मैसेज स्किप करने के लिए, ये फ़्लैग इस्तेमाल करें: |
firebase hosting:sites:get \ SITE_ID |
बताई गई Hosting साइट के बारे में जानकारी दिखाता है |
firebase hosting:sites:list |
चालू Firebase प्रोजेक्ट के लिए, सभी Hosting साइटों की सूची दिखाता है |
झलक दिखाने वाले चैनलों को मैनेज करना | |
firebase hosting:channel:create \ CHANNEL_ID |
दिए गए
यह निर्देश, चैनल पर लागू नहीं होता. |
firebase hosting:channel:delete \ CHANNEL_ID |
चुने गए प्रीव्यू चैनल को मिटाता है किसी साइट के लाइव चैनल को नहीं मिटाया जा सकता. |
firebase hosting:channel:deploy \ CHANNEL_ID |
आपके Hosting कॉन्टेंट और कॉन्फ़िगरेशन को, बताए गए झलक वाले चैनल पर डिप्लॉय करता है अगर झलक वाला चैनल अब तक मौजूद नहीं है, तो यह कमांड चैनल पर डिप्लॉय करने से पहले, डिफ़ॉल्ट Hosting साइट में चैनल बनाता है. |
firebase hosting:channel:list | डिफ़ॉल्ट Hosting साइट पर, सभी चैनलों की सूची दिखती है. इनमें "लाइव" चैनल भी शामिल है |
firebase hosting:channel:open \ CHANNEL_ID |
ब्राउज़र में दिए गए चैनल के यूआरएल को खोलता है या यूआरएल दिखाता है अगर ब्राउज़र में खोलना मुमकिन नहीं है |
वर्शन को क्लोन करना | |
firebase hosting:clone \ SOURCE_SITE_ID:SOURCE_CHANNEL_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
चुने गए "सोर्स" चैनल पर हाल ही में डिप्लॉय किए गए वर्शन को, चुने गए "टारगेट" चैनल पर क्लोन करता है यह कमांड, चुने गए "टारगेट" चैनल पर भी डिप्लॉय होता है. अगर "टारगेट" चैनल अब तक मौजूद नहीं है, तो यह निर्देश चैनल पर डिप्लॉय करने से पहले, "टारगेट" Hosting साइट में एक नया झलक चैनल बनाता है. |
firebase hosting:clone \ SOURCE_SITE_ID:@VERSION_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
चुने गए वर्शन को चुने गए "टारगेट" चैनल पर क्लोन करता है यह कमांड, चुने गए "टारगेट" चैनल पर भी डिप्लॉय होता है. अगर "टारगेट" चैनल अब तक मौजूद नहीं है, तो यह निर्देश चैनल पर डिप्लॉय करने से पहले, "टारगेट" Hosting साइट में एक नया झलक चैनल बनाता है.
|
Realtime Database निर्देश
ध्यान दें कि Firebase कंसोल में या सामान्य firebase init
वर्कफ़्लो या किसी खास firebase init database
फ़्लो का इस्तेमाल करके, अपना शुरुआती डिफ़ॉल्ट Realtime Database इंस्टेंस बनाया जा सकता है.
इंस्टेंस बनाने के बाद, उन्हें एक से ज़्यादा Realtime Database इंस्टेंस मैनेज करें में बताए गए तरीके से मैनेज किया जा सकता है.
आदेश | ब्यौरा |
---|---|
database:get | यह ऐक्टिव प्रोजेक्ट के डेटाबेस से डेटा फ़ेच करता है और उसे JSON के तौर पर दिखाता है. इंडेक्स किए गए डेटा पर क्वेरी करने की सुविधा देता है. |
database:instances:create | किसी तय इंस्टेंस के नाम से डेटाबेस इंस्टेंस बनाता है. किसी खास क्षेत्र में डेटाबेस बनाने के लिए,
--location विकल्प को स्वीकार करता है. इस विकल्प के साथ इस्तेमाल करने के लिए, इलाके के नाम देखें
अपने प्रोजेक्ट के लिए जगहें चुनें.
अगर मौजूदा प्रोजेक्ट के लिए कोई डेटाबेस इंस्टेंस मौजूद नहीं है, तो आपको इंस्टेंस बनाने के लिए firebase init फ़्लो चलाने के लिए कहा जाएगा.
|
database:instances:list | इस प्रोजेक्ट के सभी डेटाबेस इंस्टेंस की सूची बनाना. किसी खास इलाके में डेटाबेस को सूची में शामिल करने के लिए,
--location विकल्प को स्वीकार करता है. इस विकल्प के साथ इस्तेमाल किए जाने वाले इलाके के नामों के लिए,
अपने प्रोजेक्ट के लिए जगहें चुनें लेख पढ़ें. |
database:profile | यह चालू प्रोजेक्ट के डेटाबेस पर, ऑपरेशन की प्रोफ़ाइल बनाता है. ज़्यादा जानकारी के लिए, Realtime Database ऑपरेशन टाइप देखें. |
database:push | यह फ़ंक्शन, चालू प्रोजेक्ट के डेटाबेस में किसी तय जगह पर मौजूद सूची में नया डेटा डालता है. किसी फ़ाइल, STDIN या कमांड-लाइन के आर्ग्युमेंट से इनपुट लेता है. |
database:remove | चालू प्रोजेक्ट के डेटाबेस में किसी तय जगह पर मौजूद सारा डेटा मिटाता है. |
database:set | सक्रिय प्रोजेक्ट के डेटाबेस में किसी तय जगह पर मौजूद सारा डेटा बदल देता है. यह फ़ाइल, STDIN या कमांड-लाइन आर्ग्युमेंट से इनपुट लेता है. |
database:update | चालू प्रोजेक्ट के डेटाबेस में किसी तय जगह पर, डेटा को कुछ हद तक अपडेट करता है. किसी फ़ाइल, STDIN या कमांड-लाइन के आर्ग्युमेंट से इनपुट लेता है. |
Remote Config निर्देश
आदेश | ब्यौरा |
---|---|
remoteconfig:versions:list \ --limit NUMBER_OF_VERSIONS |
टेम्प्लेट के 10 सबसे नए वर्शन की सूची दिखाता है. सभी मौजूदा वर्शन दिखाने के लिए,
0 डालें. इसके अलावा, दिखाए जाने वाले वर्शन की संख्या को सीमित करने के लिए,
--limit विकल्प भी डाला जा सकता है. |
remoteconfig:get \ --v, version_number VERSION_NUMBER --o, output FILENAME |
टेंप्लेट को वर्शन के हिसाब से (डिफ़ॉल्ट रूप से नए वर्शन के हिसाब से) पाता है और पैरामीटर ग्रुप, पैरामीटर, और शर्त के नाम और वर्शन को टेबल में दिखाता है. इसके अलावा, -o, FILENAME का इस्तेमाल करके, आउटपुट को किसी फ़ाइल में भी लिखा जा सकता है. |
remoteconfig:rollback \ --v, version_number VERSION_NUMBER --force |
Remote Config टेंप्लेट को किसी तय किए गए पिछले वर्शन पर वापस ले जाता है या डिफ़ॉल्ट रूप से, पिछले वर्शन (मौजूदा वर्शन -1) पर ले जाता है. जब तक --force पास नहीं हो जाता, तब तक रोलबैक करने से पहले, Y/N के लिए प्रॉम्प्ट दिखाता है. |