लाइव साइट पर डिप्लॉय करने से पहले, आपको अपने बदलाव देखने और उनकी जांच करनी होगी. Firebase Hosting की मदद से, बदलावों को स्थानीय तौर पर देखा और उनकी जांच की जा सकती है. साथ ही, बैकएंड प्रोजेक्ट के इम्यूलेट किए गए संसाधनों के साथ इंटरैक्ट किया जा सकता है . अगर आपको अपने साथियों को अपने बदलाव दिखाने और उनकी जांच कराने की ज़रूरत है, तो Hosting आपकी साइट के लिए शेयर किए जा सकने वाले, अस्थायी झलक वाले यूआरएल बना सकता है. हम पुल के अनुरोध से डिप्लॉय करने के लिए, a GitHub इंटिग्रेशन की सुविधा भी देते हैं.
शुरू करने से पहले
Hosting शुरू करने का तरीका पेज पर दिए गए चरण पूरे करें. खास तौर पर, ये टास्क पूरे करें:
- Firebase CLI को इंस्टॉल करें या उसे नए वर्शन में अपडेट करें.
- स्थानीय प्रोजेक्ट डायरेक्ट्री (जिसमें आपके ऐप्लिकेशन का कॉन्टेंट मौजूद है) को अपने Firebase प्रोजेक्ट से कनेक्ट करें.
आपके पास अपने ऐप्लिकेशन के Hosting कॉन्टेंट और कॉन्फ़िगरेशन को डिप्लॉय करने का विकल्प होता है. हालांकि, इस पेज पर दिए गए चरणों के लिए यह ज़रूरी नहीं है.
पहला चरण: स्थानीय तौर पर जांच करना
अगर आपको तेज़ी से बदलाव करने हैं या आपको अपने ऐप्लिकेशन को बैकएंड प्रोजेक्ट के इम्यूलेट किए गए संसाधनों के साथ इंटरैक्ट कराना है, तो अपने Hosting कॉन्टेंट और कॉन्फ़िगरेशन की जांच स्थानीय तौर पर की जा सकती है. स्थानीय तौर पर जांच करते समय, Firebase आपके वेब ऐप्लिकेशन को स्थानीय तौर पर होस्ट किए गए यूआरएल पर दिखाता है.
Hosting Firebase Local Emulator Suite का हिस्सा है. इसकी मदद से, आपका ऐप्लिकेशन, इम्यूलेट किए गए Hosting कॉन्टेंट और कॉन्फ़िगरेशन के साथ-साथ, इम्यूलेट किए गए प्रोजेक्ट के संसाधनों (फ़ंक्शन, डेटाबेस, और नियम) के साथ भी इंटरैक्ट कर सकता है.
(ज़रूरी नहीं) डिफ़ॉल्ट रूप से, स्थानीय तौर पर होस्ट किया गया आपका ऐप्लिकेशन, असल, न कि इम्यूलेट किए गए, प्रोजेक्ट के संसाधनों (फ़ंक्शन, डेटाबेस, नियम वगैरह) के साथ इंटरैक्ट करेगा. इसके बजाय, आपके पास अपने ऐप्लिकेशन को इम्यूलेट किए गए किसी भी ऐसे प्रोजेक्ट संसाधन से कनेक्ट करने का विकल्प होता है जिसे आपने कॉन्फ़िगर किया है. ज़्यादा जानें: Realtime Database | Cloud Firestore | Cloud Functions
अपनी स्थानीय प्रोजेक्ट डायरेक्ट्री के रूट से, यह कमांड चलाएं:
firebase emulators:start
अपने वेब ऐप्लिकेशन को CLI से मिले स्थानीय यूआरएल (आम तौर पर,
http://localhost:5000) पर खोलें.बदलावों के साथ स्थानीय यूआरएल को अपडेट करने के लिए, अपने ब्राउज़र को रीफ़्रेश करें.
अन्य स्थानीय डिवाइसों से जांच करना
डिफ़ॉल्ट रूप से, इम्यूलेटर सिर्फ़ localhost से मिले अनुरोधों का जवाब देते हैं. इसका मतलब है कि आपके पास अपने कंप्यूटर के वेब ब्राउज़र से, होस्ट किए गए कॉन्टेंट को ऐक्सेस करने की अनुमति होगी. हालांकि, अपने नेटवर्क पर मौजूद अन्य डिवाइसों से ऐसा नहीं किया जा सकेगा. अगर आपको अन्य स्थानीय डिवाइसों से जांच करनी है, तो firebase.json को इस तरह कॉन्फ़िगर करें:
"emulators": {
// ...
"hosting": {
"port": 5000,
"host": "0.0.0.0"
}
}
दूसरा चरण: झलक देखना और शेयर करना
अगर आपको अपने वेब ऐप्लिकेशन में किए गए बदलावों को लाइव होने से पहले दूसरों को दिखाना है, तो झलक वाले चैनलों का इस्तेमाल किया जा सकता है.
झलक वाले चैनल पर डिप्लॉय करने के बाद, Firebase आपके वेब ऐप्लिकेशन को "झलक वाले यूआरएल" पर दिखाता है. यह एक शेयर किया जा सकने वाला, अस्थायी यूआरएल होता है. झलक वाले यूआरएल का इस्तेमाल करने पर, आपका वेब ऐप्लिकेशन, प्रोजेक्ट के सभी संसाधनों के लिए आपके असल बैकएंड के साथ इंटरैक्ट करता है. हालांकि, इसमें फिर से लिखने के कॉन्फ़िगरेशन में "पिन किए गए" फ़ंक्शन शामिल नहीं होते.
ध्यान दें कि झलक वाले यूआरएल का अनुमान लगाना मुश्किल होता है, क्योंकि इनमें रैंडम हैश होता है. हालांकि, ये सार्वजनिक होते हैं. इसलिए, जिस किसी को भी यूआरएल पता होगा वह इसे ऐक्सेस कर सकता है.
अपनी स्थानीय प्रोजेक्ट डायरेक्ट्री के रूट से, यह कमांड चलाएं:
firebase hosting:channel:deploy CHANNEL_ID
CHANNEL_ID को बिना स्पेस वाली किसी स्ट्रिंग से बदलें . जैसे,
feature_mission-2-mars. इस आईडी का इस्तेमाल, झलक वाले चैनल से जुड़े झलक वाले यूआरएल को बनाने के लिए किया जाएगा .अपने वेब ऐप्लिकेशन को CLI से मिले झलक वाले यूआरएल पर खोलें. यह कुछ इस तरह दिखेगा: something like this:
PROJECT_ID--CHANNEL_ID-RANDOM_HASH.web.appबदलावों के साथ झलक वाले यूआरएल को अपडेट करने के लिए, यह कमांड फिर से चलाएं. पक्का करें कि कमांड में एक ही
CHANNEL_IDतय किया गया हो.
झलक वाले चैनलों को मैनेज करने के बारे में जानें. इसमें, चैनल की समयसीमा खत्म होने की तारीख सेट करने का तरीका भी शामिल है.
Firebase Hosting GitHub Action की सुविधा देता है. इसकी मदद से, पुल के अनुरोध में बदलाव करने पर, झलक वाला यूआरएल अपने-आप बन जाता है और अपडेट हो जाता है. इस GitHub Action को सेट अप और इस्तेमाल करने का तरीका जानें.
तीसरा चरण: लाइव डिप्लॉय करना
जब आपको अपने बदलाव दुनिया के साथ शेयर करने हों, तब अपने Hosting कॉन्टेंट और कॉन्फ़िगरेशन को लाइव चैनल पर डिप्लॉय करें. Firebase इस चरण के लिए, इस्तेमाल के उदाहरण के आधार पर कुछ अलग-अलग विकल्प देता है. इनके बारे में नीचे बताया गया है.
पहला विकल्प: झलक वाले चैनल से अपने लाइव चैनल पर क्लोन करना
इस विकल्प से, आपको यह पक्का करने में मदद मिलती है कि आपने अपने लाइव चैनल पर वही कॉन्टेंट और कॉन्फ़िगरेशन डिप्लॉय किया है जिसकी जांच आपने झलक वाले चैनल में की थी. वर्शन क्लोन करने के बारे में ज़्यादा जानें के बारे में ज़्यादा जानें.
किसी भी डायरेक्ट्री से, यह कमांड चलाएं:
firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:live
हर प्लेसहोल्डर को इससे बदलें:
SOURCE_SITE_ID और TARGET_SITE_ID: ये उन साइटों के आईडी हैं जिनमें चैनल मौजूद हैं.Hosting
- अपनी डिफ़ॉल्ट Hosting साइट के लिए, अपने Firebase प्रोजेक्ट आईडी का इस्तेमाल करें.
- आपके पास ऐसी साइटें तय करने का विकल्प होता है जो एक ही Firebase प्रोजेक्ट में मौजूद हैं या अलग-अलग Firebase प्रोजेक्ट में भी मौजूद हैं.
SOURCE_CHANNEL_ID: यह उस चैनल का आइडेंटिफ़ायर है जो फ़िलहाल उस वर्शन को दिखा रहा है जिसे आपको अपने लाइव चैनल पर डिप्लॉय करना है.
- लाइव चैनल के लिए, चैनल आईडी के तौर पर
liveका इस्तेमाल करें.
- लाइव चैनल के लिए, चैनल आईडी के तौर पर
अपने बदलाव देखें (अगला चरण).
दूसरा विकल्प: अपनी स्थानीय प्रोजेक्ट डायरेक्ट्री से अपने लाइव चैनल पर डिप्लॉय करना
इस विकल्प से, आपको लाइव चैनल के लिए खास तौर पर कॉन्फ़िगरेशन में बदलाव करने या झलक वाले चैनल का इस्तेमाल न करने पर भी डिप्लॉय करने की सुविधा मिलती है.
अपनी स्थानीय प्रोजेक्ट डायरेक्ट्री के रूट से, यह कमांड चलाएं:
firebase deploy --only hosting
अपने बदलाव देखें (अगला चरण).
चौथा चरण: अपनी लाइव साइट पर बदलाव देखना
ऊपर दिए गए दोनों विकल्पों से, आपके Hosting कॉन्टेंट और कॉन्फ़िगरेशन को इन साइटों पर डिप्लॉय किया जाता है:
आपकी डिफ़ॉल्ट Hosting साइट और अन्य सभी अतिरिक्त Hosting साइटों के लिए, Firebase से मिले सबडोमेन:
SITE_ID.web.app(जैसे,PROJECT_ID.web.app)
SITE_ID.firebaseapp.com(जैसे,PROJECT_ID.firebaseapp.com)आपके सभी कस्टम डोमेन जो आपकी Hosting साइटों से कनेक्ट हैं
डिप्लॉयमेंट को किसी खास Hosting साइट तक सीमित करने के लिए, डिप्लॉयमेंट टारगेट तय करें अपने CLI कमांड में.
डिप्लॉयमेंट से जुड़ी अन्य गतिविधियां और जानकारी
डिप्लॉयमेंट के लिए टिप्पणी जोड़ना
आपके पास डिप्लॉयमेंट में टिप्पणी जोड़ने का विकल्प होता है. यह टिप्पणी, कंसोल में डैशबोर्ड पर, डिप्लॉयमेंट की अन्य जानकारी के साथ दिखेगी.HostingFirebase उदाहरण के लिए:
firebase deploy --only hosting -m "Deploying the best new feature ever."
डिप्लॉयमेंट से पहले और बाद में स्क्रिप्ट वाले टास्क जोड़ना
आपके पास firebase deploy कमांड से शेल स्क्रिप्ट कनेक्ट करने का विकल्प होता है. इससे, डिप्लॉयमेंट से पहले या बाद में किए जाने वाले टास्क पूरे किए जा सकते हैं. उदाहरण के लिए, डिप्लॉयमेंट के बाद का हुक, साइट के नए कॉन्टेंट के डिप्लॉयमेंट के बारे में एडमिन को सूचना दे सकता है. ज़्यादा जानकारी के लिए,
Firebase CLI का दस्तावेज़ देखें.
डिप्लॉय किए गए कॉन्टेंट को कैश करना
स्टैटिक कॉन्टेंट के लिए अनुरोध मिलने पर, Firebase Hosting सीडीएन पर कॉन्टेंट को अपने-आप कैश कर लेता है. अगर अपनी साइट के कॉन्टेंट को फिर से डिप्लॉय किया जाता है, तो Firebase, सीडीएन पर कैश किया गया आपका सारा स्टैटिक कॉन्टेंट अपने-आप मिटा देता है. इससे, नए अनुरोधों को आपका नया कॉन्टेंट मिलता है.
ध्यान दें कि डाइनैमिक कॉन्टेंट को कैश करने की सुविधा को कॉन्फ़िगर किया जा सकता है.
एचटीटीपीएस पर सर्व करना
पक्का करें कि Firebase Hosting पर होस्ट नहीं किए गए सभी बाहरी संसाधन, एसएसएल (एचटीटीपीएस) पर लोड हों. इनमें बाहरी स्क्रिप्ट भी शामिल हैं. ज़्यादातर ब्राउज़र, उपयोगकर्ताओं को "मिक्स कॉन्टेंट" (एसएसएल और नॉन-एसएसएल ट्रैफ़िक) लोड करने की अनुमति नहीं देते.
फ़ाइलें मिटाना
Firebase Hosting में, डिप्लॉय की गई साइट से चुनी गई फ़ाइलें मिटाने का मुख्य तरीका यह है कि फ़ाइलों को स्थानीय तौर पर मिटाया जाए और फिर से डिप्लॉय किया जाए.
अगले चरण
GitHub Action सेट अप करके, GitHub के साथ इंटिग्रेट करें और झलक वाले कॉन्टेंट को बेहतर बनाएं.
होस्टिंग की अन्य सुविधाओं के बारे में जानें:
Firebase CLI का पूरा दस्तावेज़ देखें.
अपना ऐप्लिकेशन लॉन्च करने की तैयारी करें:
- Google Cloud कंसोल में, अपने प्रोजेक्ट के लिए बजट अलर्ट सेट अप करें.
- इस्तेमाल और बिलिंग डैशबोर्ड पर Firebase कंसोल में नज़र रखें. इससे आपको कई Firebase सेवाओं में अपने प्रोजेक्ट के इस्तेमाल की पूरी जानकारी मिलेगी. इस्तेमाल की ज़्यादा जानकारी पाने के लिए, Hosting इस्तेमाल डैशबोर्ड पर भी जाएं.
- Firebase लॉन्च करने की चेकलिस्ट देखें.