किसी एक Firebase में, एक या उससे ज़्यादा Firebase Hosting साइटें सेट अप की जा सकती हैं प्रोजेक्ट. सभी साइटें एक ही Firebase प्रोजेक्ट में हैं, इसलिए सभी साइटें ये काम कर सकती हैं: प्रोजेक्ट के अन्य Firebase संसाधनों को ऐक्सेस करने के लिए.
- हर साइट का अपना होस्टिंग कॉन्फ़िगरेशन होता है.
- हर साइट, कॉन्टेंट का अपना कलेक्शन होस्ट करती है.
- हर साइट में एक या उससे ज़्यादा डोमेन हो सकते हैं.
एक ही Firebase प्रोजेक्ट में कई Hosting साइटें सेट अप करके, आप संबंधित साइटों और ऐप्लिकेशन के बीच और आसानी से Firebase संसाधनों को शेयर कर सकता है. इसके लिए उदाहरण के लिए, अगर आपने अपने ब्लॉग, एडमिन पैनल, और सार्वजनिक ऐप्लिकेशन को व्यक्तिगत तौर पर सेट अप किया है और एक जैसे Firebase प्रोजेक्ट में होती हैं, तो वे सभी एक जैसी Firebase Authentication उपयोगकर्ता डेटाबेस के साथ-साथ, उनके पास अपने यूनीक डोमेन या कॉन्टेंट.
पहला चरण: अपना Firebase सीएलआई वर्शन अपडेट करें
Firebase Hosting की सबसे नई सुविधाओं को ऐक्सेस करें Firebase सीएलआई के सबसे नए वर्शन पर अपडेट किया जा रहा है.
दूसरा चरण: अन्य साइटें जोड़ना
इनमें से किसी एक तरीके का इस्तेमाल करके, Firebase प्रोजेक्ट में अतिरिक्त साइटें जोड़ें:
Firebase कंसोल के Hosting पेज पर वर्कफ़्लो का इस्तेमाल करना
Firebase सीएलआई कमांड का इस्तेमाल करें:
firebase hosting:sites:create SITE_ID
Hosting REST API का इस्तेमाल करें:
projects.sites.create
इनमें से हर एक तरीके के लिए, आपको एक SITE_ID
तय करना होगा, जिसका इस्तेमाल इसे बनाने के लिए किया जाता है
साइट के लिए, Firebase की ओर से प्रावधान किए गए डिफ़ॉल्ट सबडोमेन:
SITE_ID.web.app
SITE_ID.firebaseapp.com
इन यूआरएल के लिए SITE_ID
का इस्तेमाल किया जाता है. इसलिए, साइट आईडी में ये चीज़ें होती हैं
ज़रूरतें:
- एक मान्य होस्टनेम लेबल होना चाहिए, इसका मतलब है कि इसमें
.
,_
वगैरह नहीं होने चाहिए. - इसमें 30 या इससे कम वर्ण होने चाहिए
- Firebase में यह ग्लोबल तौर पर, यूनीक होना चाहिए
हर साइट के लिए, आपके पास वैकल्पिक रूप से एक जैसा कॉन्टेंट दिखाने के लिए, कस्टम डोमेन जोड़ना और कॉन्फ़िगरेशन का इस्तेमाल करें.
दूसरी साइट को मिटाना
इनमें से किसी एक का इस्तेमाल करके, Firebase प्रोजेक्ट से अनचाही साइटों को मिटाएं तरीका:
इसमें वर्कफ़्लो का इस्तेमाल Hosting पेज Firebase कंसोल का
Firebase सीएलआई कमांड का इस्तेमाल करें:
firebase hosting:sites:delete SITE_ID
Hosting REST API का इस्तेमाल करें:
projects.sites.delete
ध्यान दें कि आप डिफ़ॉल्ट साइट को नहीं मिटा सकते, जिसमें SITE_ID
पहले से ही मौजूद है
आपका Firebase प्रोजेक्ट आईडी.
तीसरा चरण: अपनी साइटों के लिए डिप्लॉय टारगेट सेट अप करना
जब आपके पास एक से ज़्यादा साइटें होती हैं और आप Firebase सीएलआई डिप्लॉय करने के निर्देश चलाते हैं, तो
सीएलआई को यह बताने का तरीका चाहिए कि किस सिस्टम में कौनसी सेटिंग लागू की जानी चाहिए
की वेबसाइट पर जाएं. डिप्लॉय टारगेट की मदद से, अपनी साइटों पर जांच करने या डिप्लॉय करने के लिए, firebase.json
कॉन्फ़िगरेशन फ़ाइल और Firebase सीएलआई कमांड में, TARGET_NAME
की मदद से किसी खास साइट की खास तौर पर पहचान की जा सकती है.
डिप्लॉयमेंट टारगेट बनाने और Hosting साइट पर TARGET_NAME
लागू करने के लिए, इसे चलाएं
आपकी प्रोजेक्ट डायरेक्ट्री के रूट से नीचे दी गई सीएलआई कमांड का इस्तेमाल करें:
firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER
पैरामीटर कहां होते हैं:
TARGET_NAME — इसके लिए एक यूनीक नाम (जिसे आपने खुद तय किया है) Hosting साइट, जिस पर आपको डिप्लॉय किया जा रहा है
RESOURCE_IDENTIFIER — Hosting साइट के लिए
SITE_ID
आपके Firebase प्रोजेक्ट में मौजूद हो
उदाहरण के लिए, अगर आपने अपनेmyapp-blog
myapp-app
Firebase प्रोजेक्ट बनाया है, तो आप कोई यूनीक TARGET_NAME
(blog
और app
) को हर साइट पर भेजता है. इसके लिए, ये निर्देश दिए जाते हैं:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
डिप्लॉय टारगेट की सेटिंग, आपकी प्रोजेक्ट डायरेक्ट्री में मौजूद .firebaserc
फ़ाइल में सेव होती हैं. इसलिए, आपको हर प्रोजेक्ट के लिए डिप्लॉय टारगेट सिर्फ़ एक बार सेट अप करने होंगे.
चौथा चरण: हर साइट के लिए होस्टिंग कॉन्फ़िगरेशन तय करें
किसी साइट की होस्टिंग तय करते समय, उस पर लागू होने वाली TARGET_NAME
का इस्तेमाल करें
कॉन्फ़िगरेशन
firebase.json
फ़ाइल.
अगर आपकी
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": [...] } }
पांचवां चरण: स्थानीय तौर पर टेस्ट करना, बदलावों की झलक देखना, और उन्हें अपनी साइटों पर डिप्लॉय करना
अपने स्थानीय प्रोजेक्ट डायरेक्ट्री के रूट से, इनमें से कोई भी कमांड चलाएं.
आदेश | ब्यौरा |
---|---|
firebase emulators:start --only hosting |
यहHosting स्थानीय तौर पर होस्ट की गई किसी Hosting साइट पर डिफ़ॉल्ट यूआरएल |
firebase emulators:start --only hosting:TARGET_NAME |
स्थानीय तौर पर होस्ट किए गए यूआरएल पर, बताई गई Hosting साइट के Hosting कॉन्टेंट और कॉन्फ़िगरेशन को एमुलेट करता है |
firebase hosting:channel:deploy \ |
यह ऐप्लिकेशन के Hosting कॉन्टेंट और कॉन्फ़िगरेशन को डिप्लॉय करता है झलक वाले यूआरएल पर डिफ़ॉल्ट Hosting साइट |
firebase hosting:channel:deploy \ |
बताए गए कॉन्टेंट और कॉन्फ़िगरेशन को Hosting डिप्लॉय करता है झलक दिखाने वाले यूआरएल पर Hosting साइट |
firebase deploy --only hosting |
यह Hosting के कॉन्टेंट और कॉन्फ़िगरेशन को लाइव चैनल पर डिप्लॉय करता है
सभी Hosting साइटों में से, इसे कॉन्फ़िगर किया गया
firebase.json
|
firebase deploy --only hosting:TARGET_NAME |
यह Hosting के कॉन्टेंट और कॉन्फ़िगरेशन को लाइव चैनल पर डिप्लॉय करता है बताई गई Hosting साइट का |
आदेश | ब्यौरा |
---|---|
(इसका सुझाव नहीं दिया जाता; इसके बजाय emulators:start का इस्तेमाल करें)firebase serve --only hosting
|
Hosting की सामग्री और कॉन्फ़िगरेशन को काम करता है स्थानीय तौर पर होस्ट की गई किसी Hosting साइट पर डिफ़ॉल्ट यूआरएल |
(इसका सुझाव नहीं दिया जाता; इसके बजाय emulators:start का इस्तेमाल करें)firebase serve --only hosting:TARGET_NAME
|
बताए गए इवेंट के Hosting कॉन्टेंट और कॉन्फ़िगरेशन को काम करता है स्थानीय तौर पर होस्ट किए गए यूआरएल पर मौजूद Hosting साइट |