अपनी लाइव साइट पर तैनात करने से पहले, आप अपने परिवर्तनों को देखना और परीक्षण करना चाहेंगे। फायरबेस होस्टिंग आपको स्थानीय स्तर पर परिवर्तनों को देखने और परीक्षण करने और अनुकरणीय बैकएंड प्रोजेक्ट संसाधनों के साथ बातचीत करने में सक्षम बनाता है। यदि आप चाहते हैं कि आपके टीम साथी आपके परिवर्तनों को देखें और उनका परीक्षण करें, तो होस्टिंग आपकी साइट के लिए साझा करने योग्य, अस्थायी पूर्वावलोकन यूआरएल बना सकता है। हम पुल अनुरोध से तैनात करने के लिए GitHub एकीकरण का भी समर्थन करते हैं।
शुरू करने से पहले
होस्टिंग प्रारंभ करें पृष्ठ पर सूचीबद्ध चरणों को पूरा करें, विशेष रूप से निम्नलिखित कार्यों को:
- फायरबेस सीएलआई को उसके नवीनतम संस्करण में स्थापित या अद्यतन करें।
- स्थानीय प्रोजेक्ट निर्देशिका (जिसमें आपके ऐप की सामग्री शामिल है) को अपने फायरबेस प्रोजेक्ट से कनेक्ट करें।
आप वैकल्पिक रूप से अपने ऐप की होस्टिंग सामग्री और कॉन्फ़िगरेशन को तैनात कर सकते हैं, लेकिन यह इस पृष्ठ पर दिए गए चरणों के लिए कोई शर्त नहीं है।
चरण 1: स्थानीय स्तर पर परीक्षण करें
यदि आप त्वरित पुनरावृत्ति कर रहे हैं या आप चाहते हैं कि आपका ऐप अनुकरणीय बैकएंड प्रोजेक्ट संसाधनों के साथ इंटरैक्ट करे, तो आप अपनी होस्टिंग सामग्री का परीक्षण कर सकते हैं और स्थानीय रूप से कॉन्फ़िगर कर सकते हैं। स्थानीय स्तर पर परीक्षण करते समय, फायरबेस आपके वेब ऐप को स्थानीय रूप से होस्ट किए गए यूआरएल पर पेश करता है।
होस्टिंग फायरबेस लोकल एमुलेटर सूट का हिस्सा है, जो आपके ऐप को आपके अनुकरणित होस्टिंग सामग्री और कॉन्फ़िगरेशन के साथ-साथ वैकल्पिक रूप से आपके अनुकरणीय प्रोजेक्ट संसाधनों (फ़ंक्शन, डेटाबेस और नियम) के साथ इंटरैक्ट करने में सक्षम बनाता है।
(वैकल्पिक) डिफ़ॉल्ट रूप से, आपका स्थानीय रूप से होस्ट किया गया ऐप वास्तविक , अनुकरणीय नहीं, प्रोजेक्ट संसाधनों (फ़ंक्शन, डेटाबेस, नियम इत्यादि) के साथ इंटरैक्ट करेगा। इसके बजाय आप अपने द्वारा कॉन्फ़िगर किए गए किसी भी अनुकरणीय प्रोजेक्ट संसाधनों का उपयोग करने के लिए वैकल्पिक रूप से अपने ऐप को कनेक्ट कर सकते हैं। और जानें: रीयलटाइम डेटाबेस | क्लाउड फायरस्टोर | क्लाउड फ़ंक्शंस
अपनी स्थानीय प्रोजेक्ट निर्देशिका की जड़ से, निम्न आदेश चलाएँ:
firebase emulators:start
अपना वेब ऐप सीएलआई द्वारा लौटाए गए स्थानीय यूआरएल पर खोलें (आमतौर पर
http://localhost:5000
)।स्थानीय URL को परिवर्तनों के साथ अपडेट करने के लिए, अपने ब्राउज़र को रीफ़्रेश करें।
अन्य स्थानीय उपकरणों से परीक्षण करें
डिफ़ॉल्ट रूप से, एमुलेटर केवल localhost
के अनुरोधों का जवाब देते हैं। इसका मतलब यह है कि आप अपनी होस्ट की गई सामग्री को अपने कंप्यूटर के वेब ब्राउज़र से एक्सेस कर पाएंगे, लेकिन अपने नेटवर्क पर अन्य डिवाइस से नहीं। यदि आप अन्य स्थानीय उपकरणों से परीक्षण करना चाहते हैं, तो अपने firebase.json
इस प्रकार कॉन्फ़िगर करें:
"emulators": {
// ...
"hosting": {
"port": 5000
"host": "0.0.0.0"
}
}
firebase serve
उपयोग करते समय, आपका ऐप आपके होस्टिंग सामग्री और कॉन्फ़िगरेशन (और वैकल्पिक रूप से फ़ंक्शन) के लिए एक अनुकरणीय बैकएंड के साथ इंटरैक्ट करता है, लेकिन अन्य सभी प्रोजेक्ट संसाधनों के लिए आपका वास्तविक बैकएंड होता है।
अपनी स्थानीय प्रोजेक्ट निर्देशिका की जड़ से, निम्न आदेश चलाएँ:
firebase serve --only hosting
अपना वेब ऐप सीएलआई द्वारा लौटाए गए स्थानीय यूआरएल पर खोलें (आमतौर पर
http://localhost:5000
)।स्थानीय URL को परिवर्तनों के साथ अपडेट करने के लिए, अपने ब्राउज़र को रीफ़्रेश करें।
अन्य स्थानीय उपकरणों से परीक्षण करने के लिए firebase serve
का उपयोग करें
डिफ़ॉल्ट रूप से, firebase serve
केवल localhost
के अनुरोधों का जवाब देता है। इसका मतलब यह है कि आप अपनी होस्ट की गई सामग्री को अपने कंप्यूटर के वेब ब्राउज़र से एक्सेस कर पाएंगे, लेकिन अपने नेटवर्क पर अन्य डिवाइस से नहीं। यदि आप अन्य स्थानीय उपकरणों से परीक्षण करना चाहते हैं, तो --host
ध्वज का उपयोग करें, जैसे:
firebase serve --host 0.0.0.0 // accepts requests to any host
चरण 2: पूर्वावलोकन करें और साझा करें
यदि आप चाहते हैं कि लाइव होने से पहले अन्य लोग आपके वेब ऐप में परिवर्तन देखें, तो आप पूर्वावलोकन चैनलों का उपयोग कर सकते हैं।
पूर्वावलोकन चैनल पर तैनात होने के बाद, फायरबेस आपके वेब ऐप को "पूर्वावलोकन यूआरएल" पर पेश करता है, जो एक साझा करने योग्य, अस्थायी यूआरएल है। पूर्वावलोकन URL का उपयोग करते समय, आपका वेब ऐप सभी प्रोजेक्ट संसाधनों के लिए आपके वास्तविक बैकएंड के साथ इंटरैक्ट करता है ( आपके रीराइट कॉन्फ़िगरेशन में किसी भी "पिन किए गए" फ़ंक्शन के अपवाद के साथ)।
ध्यान दें कि यद्यपि पूर्वावलोकन URL का अनुमान लगाना कठिन है (क्योंकि उनमें यादृच्छिक हैश होता है), वे सार्वजनिक हैं। इसलिए, जो कोई भी यूआरएल जानता है वह उस तक पहुंच सकता है।
अपनी स्थानीय प्रोजेक्ट निर्देशिका की जड़ से, निम्न आदेश चलाएँ:
firebase hosting:channel:deploy CHANNEL_ID
CHANNEL_ID बिना रिक्त स्थान वाली स्ट्रिंग से बदलें (उदाहरण के लिए,
feature_mission-2-mars
)। इस आईडी का उपयोग पूर्वावलोकन चैनल से संबद्ध पूर्वावलोकन URL बनाने के लिए किया जाएगा।सीएलआई द्वारा लौटाए गए पूर्वावलोकन यूआरएल पर अपना वेब ऐप खोलें। यह कुछ इस तरह दिखेगा:
PROJECT_ID -- CHANNEL_ID - RANDOM_HASH .web.app
अपने पूर्वावलोकन URL को परिवर्तनों के साथ अद्यतन करने के लिए, वही आदेश दोबारा चलाएँ। आदेश में समान
CHANNEL_ID
निर्दिष्ट करना सुनिश्चित करें।
पूर्वावलोकन चैनलों को प्रबंधित करने के बारे में जानें, जिसमें चैनल की समाप्ति तिथि निर्धारित करने का तरीका भी शामिल है।
फायरबेस होस्टिंग एक GitHub एक्शन का समर्थन करता है जो पुल अनुरोध में परिवर्तन करने पर स्वचालित रूप से एक पूर्वावलोकन URL बनाता और अपडेट करता है। जानें कि इस GitHub Action को कैसे सेट अप और उपयोग करें ।
चरण 3: लाइव तैनात करें
जब आप अपने परिवर्तनों को दुनिया के साथ साझा करने के लिए तैयार हों, तो अपनी होस्टिंग सामग्री और कॉन्फ़िगरेशन को अपने लाइव चैनल पर तैनात करें। फायरबेस आपके उपयोग के मामले के आधार पर इस चरण के लिए कुछ अलग विकल्प प्रदान करता है (नीचे विकल्प देखें)।
विकल्प 1: पूर्वावलोकन चैनल से अपने लाइव चैनल पर क्लोन करें
यह विकल्प यह विश्वास प्रदान करता है कि आप अपने लाइव चैनल पर वही सटीक सामग्री और कॉन्फिगरेशन लागू कर रहे हैं जिसे आपने पूर्वावलोकन चैनल में परीक्षण किया था। क्लोनिंग संस्करणों के बारे में और जानें।
किसी भी निर्देशिका से, निम्न आदेश चलाएँ:
firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:live
प्रत्येक प्लेसहोल्डर को निम्नलिखित से बदलें:
SOURCE_SITE_ID और TARGET_SITE_ID : ये उन होस्टिंग साइटों की आईडी हैं जिनमें चैनल हैं।
- अपनी डिफ़ॉल्ट होस्टिंग साइट के लिए, अपनी फायरबेस प्रोजेक्ट आईडी का उपयोग करें।
- आप ऐसी साइटें निर्दिष्ट कर सकते हैं जो एक ही फायरबेस प्रोजेक्ट में हैं या यहां तक कि विभिन्न फायरबेस प्रोजेक्ट में भी हैं।
SOURCE_CHANNEL_ID : यह उस चैनल के लिए पहचानकर्ता है जो वर्तमान में उस संस्करण की सेवा कर रहा है जिसे आप अपने लाइव चैनल पर तैनात करना चाहते हैं।
- लाइव चैनल के लिए, चैनल आईडी के रूप में
live
उपयोग करें।
- लाइव चैनल के लिए, चैनल आईडी के रूप में
अपने परिवर्तन देखें (अगला चरण)।
विकल्प 2: अपनी स्थानीय परियोजना निर्देशिका से अपने लाइव चैनल पर तैनात करें
यह विकल्प आपको लाइव चैनल के लिए विशिष्ट कॉन्फ़िगरेशन को समायोजित करने या पूर्वावलोकन चैनल का उपयोग नहीं करने पर भी तैनात करने की लचीलापन प्रदान करता है।
अपनी स्थानीय प्रोजेक्ट निर्देशिका की जड़ से, निम्न आदेश चलाएँ:
firebase deploy --only hosting
अपने परिवर्तन देखें (अगला चरण)।
चरण 4: अपनी लाइव साइट पर अपने परिवर्तन देखें
उपरोक्त दोनों विकल्प आपकी होस्टिंग सामग्री और कॉन्फ़िगरेशन को निम्नलिखित साइटों पर तैनात करते हैं:
आपकी डिफ़ॉल्ट होस्टिंग साइट और किसी भी अतिरिक्त होस्टिंग साइट के लिए फायरबेस-प्रावधान उपडोमेन:
SITE_ID .web.app
(जैसेPROJECT_ID .web.app
)
SITE_ID .firebaseapp.com
(जैसेPROJECT_ID .firebaseapp.com
)कोई भी कस्टम डोमेन जिसे आपने अपनी होस्टिंग साइट से कनेक्ट किया है
किसी विशिष्ट होस्टिंग साइट पर तैनाती को प्रतिबंधित करने के लिए, अपने सीएलआई कमांड में एक तैनाती लक्ष्य निर्दिष्ट करें ।
अन्य तैनाती गतिविधियाँ और जानकारी
परिनियोजन के लिए एक टिप्पणी जोड़ें
आप वैकल्पिक रूप से किसी तैनाती में एक टिप्पणी जोड़ सकते हैं। यह टिप्पणी फायरबेस कंसोल में होस्टिंग डैशबोर्ड पर अन्य परिनियोजन जानकारी के साथ प्रदर्शित होगी। उदाहरण के लिए:
firebase deploy --only hosting -m "Deploying the best new feature ever."
पूर्व-तैनाती और पोस्ट-तैनाती स्क्रिप्टेड कार्य जोड़ें
आप पूर्व-तैनाती या पोस्ट-तैनाती कार्य करने के लिए वैकल्पिक रूप से शेल स्क्रिप्ट को firebase deploy
कमांड से कनेक्ट कर सकते हैं। उदाहरण के लिए, एक पोस्टडिप्लॉय हुक प्रशासकों को नई साइट सामग्री तैनाती के बारे में सूचित कर सकता है। अधिक विवरण के लिए फायरबेस सीएलआई दस्तावेज़ देखें।
तैनात सामग्री को कैशिंग करना
जब स्थिर सामग्री के लिए अनुरोध किया जाता है, तो फायरबेस होस्टिंग स्वचालित रूप से सामग्री को सीडीएन पर कैश कर देती है। यदि आप अपनी साइट की सामग्री को फिर से तैनात करते हैं, तो फायरबेस स्वचालित रूप से सीडीएन में आपकी सभी कैश्ड स्थिर सामग्री को साफ़ कर देता है ताकि नए अनुरोधों को आपकी नई सामग्री प्राप्त हो सके।
ध्यान दें कि आप गतिशील सामग्री की कैशिंग को कॉन्फ़िगर कर सकते हैं।
HTTPS पर सेवा
सुनिश्चित करें कि सभी बाहरी संसाधन जो फायरबेस होस्टिंग पर होस्ट नहीं किए गए हैं, किसी भी बाहरी स्क्रिप्ट सहित एसएसएल (HTTPS) पर लोड किए गए हैं। अधिकांश ब्राउज़र उपयोगकर्ताओं को "मिश्रित सामग्री" (एसएसएल और गैर-एसएसएल ट्रैफ़िक) लोड करने की अनुमति नहीं देते हैं।
अगले कदम
GitHub के साथ एकीकृत करें और GitHub Action सेट करके अपनी पूर्वावलोकन की गई सामग्री को पुनरावृत्त करें।
आगे की होस्टिंग क्षमताओं के बारे में जानें:
फायरबेस सीएलआई के लिए संपूर्ण दस्तावेज़ पर एक नज़र डालें।
अपना ऐप लॉन्च करने की तैयारी करें:
- Google क्लाउड कंसोल में अपने प्रोजेक्ट के लिए बजट अलर्ट सेट करें।
- कई फायरबेस सेवाओं में अपने प्रोजेक्ट के उपयोग की समग्र तस्वीर प्राप्त करने के लिए फायरबेस कंसोल में उपयोग और बिलिंग डैशबोर्ड की निगरानी करें। अधिक विस्तृत उपयोग जानकारी के लिए आप होस्टिंग उपयोग डैशबोर्ड पर भी जा सकते हैं।
- फायरबेस लॉन्च चेकलिस्ट की समीक्षा करें।