आप एक ही Firebase प्रोजेक्ट में एक या अधिक Firebase होस्टिंग साइट सेट कर सकते हैं। चूंकि सभी साइटें एक ही फायरबेस प्रोजेक्ट में हैं, इसलिए सभी साइटें प्रोजेक्ट के अन्य फायरबेस संसाधनों तक पहुंच सकती हैं।
- प्रत्येक साइट का अपना होस्टिंग कॉन्फ़िगरेशन होता है ।
- प्रत्येक साइट सामग्री का अपना संग्रह होस्ट करती है।
- प्रत्येक साइट में एक या अधिक संबद्ध डोमेन हो सकते हैं।
एक ही फ़ायरबेस प्रोजेक्ट के भीतर एकाधिक होस्टिंग साइट्स सेट करके, आप संबंधित साइट्स और ऐप्स के बीच फ़ायरबेस संसाधनों को अधिक आसानी से साझा कर सकते हैं। उदाहरण के लिए, यदि आप अपने ब्लॉग, व्यवस्थापक पैनल और सार्वजनिक ऐप को एक ही फायरबेस प्रोजेक्ट में अलग-अलग साइटों के रूप में सेट करते हैं, तो वे सभी एक ही फायरबेस प्रमाणीकरण उपयोगकर्ता डेटाबेस साझा कर सकते हैं, जबकि उनके पास अपने स्वयं के अद्वितीय डोमेन या सामग्री भी हो।
चरण 1 : अपना फायरबेस सीएलआई संस्करण अपडेट करें
फायरबेस सीएलआई के नवीनतम संस्करण में अपडेट करके सबसे वर्तमान फायरबेस होस्टिंग सुविधाओं तक पहुंचें।
चरण 2 : अतिरिक्त साइटें जोड़ें
निम्न विधियों में से किसी एक का उपयोग करके किसी Firebase प्रोजेक्ट में अतिरिक्त साइटें जोड़ें:
फायरबेस कंसोल के होस्टिंग पेज में वर्कफ़्लो का उपयोग करें
फायरबेस सीएलआई कमांड का प्रयोग करें
firebase hosting:sites:create SITE_ID
होस्टिंग आरईएसटी एपीआई का प्रयोग करें:
projects.sites.create
इन विधियों में से प्रत्येक के लिए, आप एक SITE_ID
निर्दिष्ट करेंगे जिसका उपयोग साइट के लिए Firebase-प्रावधानित डिफ़ॉल्ट उप डोमेन बनाने के लिए किया जाता है:
-
SITE_ID .web.app
-
SITE_ID .firebaseapp.com
चूंकि इन URL के लिए SITE_ID
का उपयोग किया जाता है, इसलिए साइट आईडी की निम्न आवश्यकताएं हैं:
- एक मान्य होस्टनाम लेबल होना चाहिए, जिसका अर्थ है कि इसमें
.
,_
, आदि - 30 या उससे कम वर्ण होने चाहिए
- Firebase के भीतर विश्व स्तर पर अद्वितीय होना चाहिए
प्रत्येक साइट के लिए, आप वैकल्पिक रूप से एक ही सामग्री और एक से अधिक URL को कॉन्फ़िगरेशन प्रदान करने के लिए कस्टम डोमेन जोड़ सकते हैं।
एक द्वितीयक साइट हटाएं
निम्न विधियों में से किसी एक का उपयोग करके किसी Firebase प्रोजेक्ट से अवांछित साइटें हटाएं:
फायरबेस कंसोल के होस्टिंग पेज में वर्कफ़्लो का उपयोग करें
फायरबेस सीएलआई कमांड का प्रयोग करें
firebase hosting:sites:delete SITE_ID
होस्टिंग आरईएसटी एपीआई का प्रयोग करें:
projects.sites.delete
ध्यान दें कि आप डिफ़ॉल्ट साइट को नहीं हटा सकते हैं, जिसकी SITE_ID
आपकी Firebase प्रोजेक्ट आईडी के समान है।
चरण 3 : अपनी साइटों के लिए परिनियोजन लक्ष्य निर्धारित करें
जब आपके पास एक से अधिक साइटें हों और आप Firebase CLI परिनियोजन आदेश चलाते हों, तो CLI को यह बताने के लिए एक तरीके की आवश्यकता होती है कि प्रत्येक साइट पर कौन-सी सेटिंग परिनियोजित की जानी चाहिए। परिनियोजित लक्ष्यों के साथ आप अपनी firebase.json
कॉन्फ़िगरेशन फ़ाइल में TARGET_NAME
के साथ विशिष्ट साइट की पहचान कर सकते हैं और अपनी साइटों पर परीक्षण या परिनियोजन के लिए अपने Firebase CLI आदेशों में।
एक परिनियोजन लक्ष्य बनाने और एक होस्टिंग साइट पर TARGET_NAME
लागू करने के लिए, अपनी प्रोजेक्ट निर्देशिका के मूल से निम्नलिखित CLI कमांड चलाएँ:
firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER
जहां पैरामीटर हैं:
TARGET_NAME — उस होस्टिंग साइट के लिए एक अद्वितीय नाम (जिसे आपने स्वयं परिभाषित किया है) जिसे आप परिनियोजित कर रहे हैं
RESOURCE_IDENTIFIER — आपके Firebase प्रोजेक्ट में सूचीबद्ध होस्टिंग साइट के लिए
SITE_ID
उदाहरण के लिए, यदि आपने अपने फायरबेस प्रोजेक्ट में दो साइटें ( myapp-blog
और myapp-app
) बनाई हैं, तो आप निम्नलिखित कमांड चलाकर प्रत्येक साइट पर एक अद्वितीय TARGET_NAME
(क्रमशः blog
और app
) लागू कर सकते हैं:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
लक्ष्य परिनियोजित करने के लिए सेटिंग्स आपकी प्रोजेक्ट निर्देशिका में .firebaserc
फ़ाइल में संग्रहीत हैं, इसलिए आपको प्रति प्रोजेक्ट केवल एक बार परिनियोजित लक्ष्य सेट करने की आवश्यकता है।
चरण 4 : प्रत्येक साइट के लिए होस्टिंग कॉन्फ़िगरेशन को परिभाषित करें
जब आप अपनी firebase.json
फ़ाइल में किसी साइट के होस्टिंग कॉन्फ़िगरेशन को परिभाषित कर रहे हों, तो उसके लागू TARGET_NAME
का उपयोग करें।
यदि आपकी
firebase.json
फ़ाइल एकाधिक साइटों के लिए कॉन्फ़िगरेशन को परिभाषित करती है, तो एक सरणी प्रारूप का उपयोग करें:{ "hosting": [ { "target": "blog", // "blog" is the applied TARGET_NAME for the Hosting site "myapp-blog" "public": "blog/dist", // contents of this folder are deployed to the site "myapp-blog" // ... }, { "target": "app", // "app" is the applied TARGET_NAME for the Hosting site "myapp-app" "public": "app/dist", // contents of this folder are deployed to the site "myapp-app" // ... "rewrites": [...] // You can define specific Hosting configurations for each site } ] }
अगर आपकी
firebase.json
फ़ाइल केवल एक साइट के लिए कॉन्फ़िगरेशन को परिभाषित करती है, तो सरणी प्रारूप का उपयोग करना आवश्यक नहीं है:{ "hosting": { "target": "blog", "public": "dist", // ... "rewrites": [...] } }
चरण 5 : स्थानीय रूप से परीक्षण करें, परिवर्तनों का पूर्वावलोकन करें और अपनी साइटों पर परिनियोजित करें
अपनी स्थानीय प्रोजेक्ट निर्देशिका के मूल से निम्न में से कोई भी आदेश चलाएँ।
आदेश | विवरण |
---|---|
firebase emulators:start --only hosting | स्थानीय रूप से होस्ट किए गए URL पर डिफ़ॉल्ट होस्टिंग साइट की होस्टिंग सामग्री और कॉन्फ़िगरेशन का अनुकरण करता है |
firebase emulators:start --only hosting: TARGET_NAME | स्थानीय रूप से होस्ट किए गए URL पर निर्दिष्ट होस्टिंग साइट की होस्टिंग सामग्री और कॉन्फ़िगरेशन का अनुकरण करता है |
firebase hosting:channel:deploy \ | एक पूर्वावलोकन URL पर डिफ़ॉल्ट होस्टिंग साइट की होस्टिंग सामग्री और कॉन्फ़िगरेशन को परिनियोजित करता है |
firebase hosting:channel:deploy \ | एक पूर्वावलोकन URL पर निर्दिष्ट होस्टिंग साइट की होस्टिंग सामग्री और कॉन्फ़िगरेशन को परिनियोजित करता है |
firebase deploy --only hosting | होस्टिंग सामग्री और कॉन्फ़िगरेशन को firebase.json में कॉन्फ़िगर की गई सभी होस्टिंग साइटों के लाइव चैनल पर तैनात करता है |
firebase deploy --only hosting: TARGET_NAME | होस्टिंग सामग्री और कॉन्फ़िगरेशन को निर्दिष्ट होस्टिंग साइट के लाइव चैनल पर तैनात करता है |
आदेश | विवरण |
---|---|
(अनुशंसित नहीं; emulators:start करें)firebase serve --only hosting | स्थानीय रूप से होस्ट किए गए URL पर डिफ़ॉल्ट होस्टिंग साइट की होस्टिंग सामग्री और कॉन्फ़िगरेशन की सेवा करता है |
(अनुशंसित नहीं; emulators:start करें)firebase serve --only hosting: TARGET_NAME | स्थानीय रूप से होस्ट किए गए URL पर निर्दिष्ट होस्टिंग साइट की होस्टिंग सामग्री और कॉन्फ़िगरेशन की सेवा करता है |