Firebase CLI (GitHub) में, Firebase प्रोजेक्ट को मैनेज करने, देखने, और डिप्लॉय करने के लिए कई टूल उपलब्ध हैं.
Firebase CLI का इस्तेमाल करने से पहले, Firebase प्रोजेक्ट सेट अप करें.
सीएलआई को सेट अप करना या अपडेट करना
Firebase सीएलआई इंस्टॉल करना
अपने ऑपरेटिंग सिस्टम, अनुभव के लेवल, और/या इस्तेमाल के उदाहरण के हिसाब से, Firebase CLI को इंस्टॉल किया जा सकता है. सीएलआई को इंस्टॉल करने का तरीका चाहे जो भी हो, आपके पास एक जैसी सुविधाओं और firebase
कमांड का ऐक्सेस होता है.
Windows
Firebase CLI for Windows को इंस्टॉल करने के लिए, इनमें से कोई एक विकल्प इस्तेमाल करें:
विकल्प | ब्यौरा | इसके लिए सुझाव दिया गया है... |
---|---|---|
स्टैंडअलोन बाइनरी | सीएलआई के लिए स्टैंडअलोन बाइनरी डाउनलोड करें. इसके बाद, आपके पास एक्ज़ीक्यूटेबल को ऐक्सेस करने का विकल्प होता है. इससे एक शेल खुलता है, जहां firebase कमांड चलाई जा सकती है.
|
नए डेवलपर ऐसे डेवलपर जो Node.js का इस्तेमाल नहीं कर रहे हैं या इसके बारे में नहीं जानते हैं |
npm | सीएलआई इंस्टॉल करने और ग्लोबल तौर पर उपलब्ध firebase कमांड को चालू करने के लिए, npm (Node Package Manager) का इस्तेमाल करें.
|
Node.js का इस्तेमाल करने वाले डेवलपर |
स्टैंडअलोन बाइनरी
Firebase CLI के लिए बाइनरी डाउनलोड करने और चलाने के लिए, यह तरीका अपनाएं:
Windows के लिए Firebase सीएलआई बाइनरी डाउनलोड करें.
बाइनरी को ऐक्सेस करके, एक शेल खोलें. यहां
firebase
कमांड चलाई जा सकती है.लॉग इन करने और सीएलआई को टेस्ट करने के लिए आगे बढ़ें.
npm
npm
(Node Package Manager) का इस्तेमाल करके, Firebase CLI इंस्टॉल करने के लिए, यह तरीका अपनाएं:
nvm-windows (Node Version Manager) का इस्तेमाल करके, 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
लॉग इन करने और सीएलआई को टेस्ट करने के लिए आगे बढ़ें.
अपने-आप इंस्टॉल होने वाली स्क्रिप्ट के बारे में ज़्यादा उदाहरण और जानकारी के लिए, firebase.tools पर स्क्रिप्ट का सोर्स कोड देखें.
स्टैंडअलोन बाइनरी
अपने ओएस के लिए, Firebase CLI का बाइनरी डाउनलोड करने और उसे चलाने के लिए, यह तरीका अपनाएं:
अपने ओएस के लिए Firebase सीएलआई बाइनरी डाउनलोड करें: macOS | Linux
(ज़रूरी नहीं) दुनिया भर में उपलब्ध
firebase
कमांड सेट अप करें.chmod +x ./firebase_tools
चलाकर, बाइनरी को एक्ज़ीक्यूटेबल बनाएं.- अपने PATH में बाइनरी का पाथ जोड़ें.
लॉग इन करने और सीएलआई को टेस्ट करने के लिए आगे बढ़ें.
npm
Firebase CLI को इंस्टॉल करने के लिए, npm
(Node Package Manager) का इस्तेमाल करने के लिए, यह तरीका अपनाएं:
nvm (नोड वर्शन मैनेजर) का इस्तेमाल करके, Node.js इंस्टॉल करें.
Node.js इंस्टॉल करने पर,npm
कमांड टूल अपने-आप इंस्टॉल हो जाते हैं.npm
के ज़रिए Firebase सीएलआई इंस्टॉल करने के लिए, यह कमांड चलाएं:npm install -g firebase-tools
इस कमांड से, दुनिया भर में उपलब्ध
firebase
कमांड चालू हो जाती है.लॉग इन करने और सीएलआई को टेस्ट करने के लिए आगे बढ़ें.
लॉग इन करें और Firebase सीएलआई को आज़माएं
सीएलआई इंस्टॉल करने के बाद, आपको पुष्टि करनी होगी. इसके बाद, अपने Firebase प्रोजेक्ट की सूची बनाकर पुष्टि की जा सकती है.
अपने Google खाते का इस्तेमाल करके Firebase में लॉग इन करने के लिए, यह कमांड चलाएं:
firebase login
इस कमांड से, आपकी लोकल मशीन Firebase से कनेक्ट हो जाती है. साथ ही, आपको अपने Firebase प्रोजेक्ट का ऐक्सेस मिल जाता है.
जांच करें कि CLI सही तरीके से इंस्टॉल हो गया हो और आपके खाते को ऐक्सेस कर रहा हो. इसके लिए, अपने Firebase प्रोजेक्ट की सूची बनाएं. यह कमांड चलाएं:
firebase projects:list
दिखाई गई सूची में मौजूद Firebase प्रोजेक्ट, 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 उनका पता लगाएगा और उनका इस्तेमाल करेगा. सीआई और अन्य हेडलेस एनवायरमेंट में सीएलआई की पुष्टि करने का सबसे आसान तरीका, ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल सेट अप करना है.
(लेगसी) FIREBASE_TOKEN
का इस्तेमाल करें
इसके अलावा, FIREBASE_TOKEN
का इस्तेमाल करके भी पुष्टि की जा सकती है. यह ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल से कम सुरक्षित है. अब इसका इस्तेमाल करने का सुझाव नहीं दिया जाता.
ब्राउज़र वाले किसी मशीन पर, Firebase सीएलआई इंस्टॉल करें.
साइन इन करने की प्रोसेस शुरू करने के लिए, यह कमांड चलाएं:
firebase login:ci
दिए गए यूआरएल पर जाएं. इसके बाद, Google खाते का इस्तेमाल करके लॉग इन करें.
नया रीफ़्रेश टोकन प्रिंट करें. मौजूदा सीएलआई सेशन पर इसका कोई असर नहीं पड़ेगा.
आउटपुट टोकन को अपने सीआई सिस्टम में सुरक्षित तरीके से सेव करें, ताकि इसे आसानी से ऐक्सेस किया जा सके.
firebase
निर्देश चलाने के लिए, इस टोकन का इस्तेमाल करें. इनमें से किसी एक विकल्प का इस्तेमाल किया जा सकता है:पहला विकल्प: टोकन को एनवायरमेंट वैरिएबल
FIREBASE_TOKEN
के तौर पर सेव करें. आपका सिस्टम, टोकन का इस्तेमाल अपने-आप करेगा.दूसरा विकल्प: अपने सीआई सिस्टम में
--token TOKEN
फ़्लैग के साथ सभीfirebase
कमांड चलाएं.
टोकन लोड करने के लिए प्राथमिकता का क्रम यह है: फ़्लैग, एनवायरमेंट वैरिएबल, और Firebase प्रोजेक्ट.
Firebase प्रोजेक्ट शुरू करना
CLI का इस्तेमाल करके कई सामान्य टास्क किए जाते हैं. जैसे, किसी Firebase प्रोजेक्ट में डिप्लॉय करना. इसके लिए, प्रोजेक्ट डायरेक्ट्री की ज़रूरत होती है. firebase init
कमांड का इस्तेमाल करके, प्रोजेक्ट डायरेक्ट्री बनाई जाती है. प्रोजेक्ट डायरेक्ट्री आम तौर पर, आपकी सोर्स कंट्रोल रूट डायरेक्ट्री के जैसी ही होती है. firebase init
चलाने के बाद, डायरेक्ट्री में firebase.json
कॉन्फ़िगरेशन फ़ाइल होती है.
नया Firebase प्रोजेक्ट शुरू करने के लिए, अपने ऐप्लिकेशन की डायरेक्ट्री में जाकर यह कमांड चलाएं:
firebase init
firebase init
कमांड की मदद से, प्रोजेक्ट डायरेक्ट्री और कुछ Firebase प्रॉडक्ट सेट अप किए जा सकते हैं. प्रोजेक्ट शुरू करते समय, Firebase CLI आपसे ये टास्क पूरे करने के लिए कहता है:
डिफ़ॉल्ट Firebase प्रोजेक्ट चुनें.
इस चरण में, मौजूदा प्रोजेक्ट डायरेक्ट्री को Firebase प्रोजेक्ट से जोड़ा जाता है. इससे प्रोजेक्ट से जुड़ी कमांड (जैसे कि
firebase deploy
) सही Firebase प्रोजेक्ट के लिए काम करती हैं.एक ही प्रोजेक्ट डायरेक्ट्री के साथ एक से ज़्यादा Firebase प्रोजेक्ट (जैसे, स्टेजिंग प्रोजेक्ट और प्रोडक्शन प्रोजेक्ट) भी जोड़े जा सकते हैं.
अपने Firebase प्रोजेक्ट में सेट अप करने के लिए, Firebase के प्रॉडक्ट चुनें.
इस चरण में, आपको चुने गए प्रॉडक्ट के लिए खास फ़ाइलों के कॉन्फ़िगरेशन सेट करने के लिए कहा जाता है. इन कॉन्फ़िगरेशन के बारे में ज़्यादा जानने के लिए, प्रॉडक्ट के दस्तावेज़ (उदाहरण के लिए, Hosting) देखें. ध्यान दें कि ज़्यादा Firebase प्रॉडक्ट सेट अप करने के लिए,
firebase init
को बाद में भी चलाया जा सकता है.
शुरू करने की प्रोसेस पूरी होने के बाद, Firebase आपके ऐप्लिकेशन की लोकल डायरेक्ट्री के रूट में ये दो फ़ाइलें अपने-आप बना देता है:
firebase.json
कॉन्फ़िगरेशन फ़ाइल, जिसमें आपके प्रोजेक्ट का कॉन्फ़िगरेशन दिया गया होता है..firebaserc
फ़ाइल, जिसमें आपके प्रोजेक्ट के उपनाम सेव होते हैं.
firebase.json
फ़ाइल
firebase init
कमांड, आपके प्रोजेक्ट डायरेक्ट्री के रूट में firebase.json
कॉन्फ़िगरेशन फ़ाइल बनाती है.
firebase.json
फ़ाइल ज़रूरी है, ताकि Firebase CLI की मदद से ऐसेट डिप्लॉय की जा सकें. ऐसा इसलिए, क्योंकि यह फ़ाइल बताती है कि आपकी प्रोजेक्ट डायरेक्ट्री की कौनसी फ़ाइलें और सेटिंग, आपके Firebase प्रोजेक्ट में डिप्लॉय की गई हैं. कुछ सेटिंग को आपकी प्रोजेक्ट डायरेक्ट्री या Firebase कंसोल में तय किया जा सकता है. इसलिए, पक्का करें कि आपने डिप्लॉयमेंट से जुड़ी किसी भी समस्या को ठीक कर लिया हो.
firebase.json
फ़ाइल में सीधे तौर पर, ज़्यादातर Firebase Hosting विकल्पों को कॉन्फ़िगर किया जा सकता है. हालांकि, Firebase CLI के साथ डिप्लॉय की जा सकने वाली अन्य Firebase सेवाओं के लिए, firebase init
कमांड से ऐसी फ़ाइलें बनती हैं जिनमें उन सेवाओं के लिए सेटिंग तय की जा सकती हैं. जैसे, Cloud Functions के लिए index.js
फ़ाइल. firebase.json
फ़ाइल में, प्रीडिप्लॉय या पोस्टडिप्लॉय हुक भी सेट अप किए जा सकते हैं.
यहां firebase.json
फ़ाइल का एक उदाहरण दिया गया है. इसमें डिफ़ॉल्ट सेटिंग लागू हैं. ऐसा तब होता है, जब आपने शुरुआत में Firebase Hosting, Cloud Firestore, और Cloud Functions for Firebase (टाइपस्क्रिप्ट सोर्स और लिंट के विकल्प चुने गए हों) को चुना हो.
{
"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 \ |
यह विकल्प, सभी कमांड को तय किए गए Firebase प्रोजेक्ट के हिसाब से चलाने का निर्देश देता है.
सीएलआई, इस प्रोजेक्ट का इस्तेमाल "चालू प्रोजेक्ट" के तौर पर करता है. |
firebase use --clear |
इससे ऐक्टिव प्रोजेक्ट हट जाता है.
अन्य सीएलआई कमांड चलाने से पहले, |
firebase use \ |
यह आपके प्रोजेक्ट डायरेक्ट्री से किसी उपनाम को हटाता है. |
--project
फ़्लैग को किसी भी सीएलआई कमांड के साथ पास करके, मौजूदा समय में इस्तेमाल किए जा रहे प्रोजेक्ट को बदला जा सकता है. उदाहरण के लिए: अपने सीएलआई को ऐसे Firebase प्रोजेक्ट के लिए सेट किया जा सकता है जिसे आपने staging
उपनाम दिया है. अगर आपको prod
उपनाम वाले Firebase प्रोजेक्ट के लिए एक ही कमांड चलानी है, तो उदाहरण के लिए,
कमांड चलाई जा सकती है.
सोर्स कंट्रोल और प्रोजेक्ट के अन्य नाम
आम तौर पर, आपको अपनी .firebaserc
फ़ाइल को सोर्स कंट्रोल में सेव करना चाहिए, ताकि आपकी टीम प्रोजेक्ट के एलियास शेयर कर सके. हालांकि, ओपन सोर्स प्रोजेक्ट या स्टार्टर टेंप्लेट के लिए, आपको आम तौर पर अपनी .firebaserc
फ़ाइल में इसकी जांच नहीं करनी चाहिए.
अगर आपके पास कोई ऐसा डेवलपमेंट प्रोजेक्ट है जिसका इस्तेमाल सिर्फ़ आपको करना है, तो हर कमांड के साथ --project
फ़्लैग पास किया जा सकता है. इसके अलावा, Firebase प्रोजेक्ट को कोई उपनाम असाइन किए बिना firebase use PROJECT_ID
चलाया जा सकता है.
अपने Firebase प्रोजेक्ट को स्थानीय तौर पर टेस्ट करना और उसे उपलब्ध कराना
प्रोडक्शन में डिप्लॉय करने से पहले, स्थानीय तौर पर होस्ट किए गए यूआरएल पर अपने Firebase प्रोजेक्ट को देखा और टेस्ट किया जा सकता है. अगर आपको सिर्फ़ कुछ सुविधाओं को टेस्ट करना है, तो firebase serve
कमांड में मौजूद फ़्लैग में कॉमा लगाकर अलग की गई सूची का इस्तेमाल किया जा सकता है.
अगर आपको इनमें से कोई भी काम करना है, तो अपनी लोकल प्रोजेक्ट डायरेक्ट्री के रूट से यह कमांड चलाएं:
- Firebase होस्टिंग की सुविधा का इस्तेमाल करके होस्ट किए गए ऐप्लिकेशन का स्टैटिक कॉन्टेंट देखें.
- Cloud Functions का इस्तेमाल करके, Firebase Hosting के लिए डाइनैमिक कॉन्टेंट जनरेट करना हो. साथ ही, आपको लोकल यूआरएल पर Hosting को एम्युलेट करने के लिए, प्रोडक्शन (डिप्लॉय किए गए) एचटीटीपी फ़ंक्शन का इस्तेमाल करना हो.
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 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 CLI, पहले से डिप्लॉय किए गए फ़ंक्शन को मिटाने के लिए, यहां दिए गए निर्देशों और विकल्पों के साथ काम करता है:
यह कमांड, सभी इलाकों में उस नाम से मिलते-जुलते सभी फ़ंक्शन मिटा देती है:
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
, दोनों हुक स्क्रिप्ट के स्टैंडर्ड आउटपुट और गड़बड़ी स्ट्रीम को टर्मिनल पर प्रिंट करते हैं. अगर अनुरोध पूरा नहीं होता है, तो इन बातों का ध्यान रखें:
- अगर प्रीडिप्लॉय हुक उम्मीद के मुताबिक पूरा नहीं होता है, तो डिप्लॉयमेंट रद्द कर दिया जाता है.
- अगर किसी वजह से डिप्लॉयमेंट पूरा नहीं होता है, तो 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 | इस कमांड से, आपके Google खाते के ज़रिए सीएलआई की पुष्टि की जाती है. इसके लिए, वेब ब्राउज़र का ऐक्सेस ज़रूरी है. ऐसे रिमोट एनवायरमेंट में सीएलआई में लॉग इन करने के लिए जहां localhost को ऐक्सेस करने की अनुमति नहीं है, --no-localhost |
login:ci | यह कुकी, बिना इंटरैक्टिव वाले एनवायरमेंट में इस्तेमाल करने के लिए, पुष्टि करने वाला टोकन जनरेट करती है. |
logout | इस कमांड से, सीएलआई में मौजूद आपके Google खाते से साइन आउट हो जाता है. |
open | इससे ब्राउज़र में, प्रोजेक्ट से जुड़े काम के संसाधन खुलते हैं. |
projects:list | इसमें उन सभी Firebase प्रोजेक्ट की सूची होती है जिन्हें ऐक्सेस करने की अनुमति आपके पास है. |
इस्तेमाल करें | इस कमांड से, 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 |
यह आपके Cloud SQL डेटाबेस के स्कीमा को माइग्रेट करके, आपके लोकल Data Connect स्कीमा से मैच करता है. |
dataconnect:sql:grant\ --role=ROLE \ --email=EMAIL \ SERVICE_ID |
यह विकल्प, चुने गए उपयोगकर्ता या सेवा खाते के ईमेल पते को SQL भूमिका असाइन करता है.
--role फ़्लैग के लिए, दी जाने वाली एसक्यूएल भूमिका इनमें से कोई एक होनी चाहिए:
owner , writer या reader .
--email फ़्लैग के लिए, उस उपयोगकर्ता या सेवा खाते का ईमेल पता दें जिसे भूमिका असाइन करनी है.
|
dataconnect:sdk:generate | यह आपके Data Connect कनेक्टर के लिए टाइप किए गए एसडीके जनरेट करता है. |
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 वेब ऐप्लिकेशन के बारे में बताएं. इसके लिए, यह फ़्लैग पास करें:
|
firebase hosting:sites:delete \ SITE_ID |
यह कमांड, बताई गई Hosting साइट को मिटा देती है साइट को मिटाने से पहले, CLI पुष्टि करने का प्रॉम्प्ट दिखाता है. (ज़रूरी नहीं) पुष्टि करने वाले प्रॉम्प्ट को स्किप करने के लिए, यहां दिए गए फ़्लैग पास करें: |
firebase hosting:sites:get \ SITE_ID |
यह फ़ंक्शन, दी गई Hosting साइट के बारे में जानकारी देता है |
firebase hosting:sites:list |
चालू Firebase प्रोजेक्ट के लिए, सभी Hosting साइटों की सूची दिखाता है |
प्रीव्यू चैनल मैनेज करना | |
firebase hosting:channel:create \ CHANNEL_ID |
यह फ़ंक्शन, default Hosting साइट में, तय किए गए इस निर्देश को चैनल पर लागू नहीं किया जाता. |
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 |
यह कमांड, "सोर्स" चैनल पर हाल ही में डिप्लॉय किए गए वर्शन को, "टारगेट" चैनल पर क्लोन करती है यह कमांड, तय किए गए "टारगेट" चैनल पर भी डिप्लॉय होती है. अगर "target" चैनल अभी तक मौजूद नहीं है, तो यह निर्देश "target" Hosting साइट में एक नया प्रीव्यू चैनल बनाता है. इसके बाद, उसे चैनल पर डिप्लॉय करता है. |
firebase hosting:clone \ SOURCE_SITE_ID:@VERSION_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
यह कमांड, चुने गए वर्शन को चुने गए "टारगेट" चैनल पर क्लोन करती है यह कमांड, तय किए गए "टारगेट" चैनल पर भी डिप्लॉय होती है. अगर "target" चैनल अभी तक मौजूद नहीं है, तो यह निर्देश "target" Hosting साइट में एक नया प्रीव्यू चैनल बनाता है. इसके बाद, उसे चैनल पर डिप्लॉय करता है. आपको 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 ऑपरेशन के टाइप देखें. |
database:push | यह फ़ंक्शन, चालू प्रोजेक्ट के डेटाबेस में मौजूद सूची में, तय की गई जगह पर नया डेटा जोड़ता है. यह किसी फ़ाइल, STDIN या कमांड-लाइन आर्ग्युमेंट से इनपुट लेता है. |
database:remove | यह फ़ंक्शन, चालू प्रोजेक्ट के डेटाबेस में किसी तय जगह पर मौजूद सारा डेटा मिटा देता है. |
database:set | यह फ़ंक्शन, चालू प्रोजेक्ट के डेटाबेस में किसी तय जगह पर मौजूद सभी डेटा को बदल देता है. यह किसी फ़ाइल, STDIN या कमांड-लाइन आर्ग्युमेंट से इनपुट लेता है. |
database:update | यह फ़ंक्शन, चालू प्रोजेक्ट के डेटाबेस में किसी तय जगह पर कुछ डेटा अपडेट करता है. यह किसी फ़ाइल, STDIN या कमांड-लाइन आर्ग्युमेंट से इनपुट लेता है. |
Remote Config निर्देश
आदेश | ब्यौरा |
---|---|
remoteconfig:versions:list \ --limit NUMBER_OF_VERSIONS |
इसमें टेम्प्लेट के सबसे नए दस वर्शन की सूची होती है. सभी मौजूदा वर्शन वापस पाने के लिए, 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
प्रॉम्प्ट करता है. |