Catch up on highlights from Firebase at Google I/O 2023. Learn more

स्थानीय रूप से अपने वेब ऐप का परीक्षण करें, दूसरों के साथ परिवर्तन साझा करें, फिर लाइव परिनियोजित करें

अपनी लाइव साइट पर परिनियोजित करने से पहले, आप अपने परिवर्तनों को देखना और उनका परीक्षण करना चाहेंगे। फायरबेस होस्टिंग आपको स्थानीय रूप से परिवर्तनों को देखने और परीक्षण करने और एमुलेटेड बैकएंड प्रोजेक्ट संसाधनों के साथ इंटरैक्ट करने में सक्षम बनाती है। यदि आप चाहते हैं कि आपके साथी आपके परिवर्तनों को देखें और उनका परीक्षण करें, तो होस्टिंग आपकी साइट के लिए साझा करने योग्य, अस्थायी पूर्वावलोकन URL बना सकती है। हम पुल अनुरोध से तैनात करने के लिए गिटहब एकीकरण का भी समर्थन करते हैं।

शुरू करने से पहले

होस्टिंग प्रारंभ करें पृष्ठ पर सूचीबद्ध चरणों को पूरा करें, विशेष रूप से निम्नलिखित कार्य:

  1. फायरबेस सीएलआई को उसके नवीनतम संस्करण में स्थापित या अपडेट करें।
  2. स्थानीय परियोजना निर्देशिका (जिसमें आपके ऐप की सामग्री शामिल है) को अपने फायरबेस प्रोजेक्ट से कनेक्ट करें।

आप वैकल्पिक रूप से अपने ऐप की होस्टिंग सामग्री और कॉन्फ़िगरेशन को परिनियोजित कर सकते हैं, लेकिन यह इस पृष्ठ पर चरणों के लिए एक पूर्वापेक्षा नहीं है।

चरण 1: स्थानीय रूप से परीक्षण करें

यदि आप त्वरित पुनरावृत्ति कर रहे हैं या आप चाहते हैं कि आपका ऐप नकली बैकएंड प्रोजेक्ट संसाधनों के साथ सहभागिता करे, तो आप अपनी होस्टिंग सामग्री का परीक्षण कर सकते हैं और स्थानीय रूप से कॉन्फ़िगर कर सकते हैं। स्थानीय रूप से परीक्षण करते समय, फायरबेस आपके वेब ऐप को स्थानीय रूप से होस्ट किए गए यूआरएल पर पेश करता है।

होस्टिंग फायरबेस लोकल इम्यूलेटर सूट का हिस्सा है, जो आपके ऐप को आपकी एमुलेटेड होस्टिंग सामग्री और कॉन्फ़िगरेशन के साथ-साथ वैकल्पिक रूप से आपके इम्युलेटेड प्रोजेक्ट संसाधनों (फ़ंक्शन, डेटाबेस और नियम) के साथ इंटरैक्ट करने में सक्षम बनाता है।

  1. (वैकल्पिक) डिफ़ॉल्ट रूप से, आपका स्थानीय रूप से होस्ट किया गया ऐप वास्तविक के साथ इंटरैक्ट करेगा, नकली नहीं, परियोजना संसाधनों (कार्य, डेटाबेस, नियम, आदि)। इसके बजाय आप वैकल्पिक रूप से अपने ऐप को आपके द्वारा कॉन्फ़िगर किए गए किसी अनुकरणीय प्रोजेक्ट संसाधनों का उपयोग करने के लिए कनेक्ट कर सकते हैं। अधिक जानें: रीयलटाइम डेटाबेस | क्लाउड फायरस्टोर | क्लाउड फ़ंक्शंस

  2. अपनी स्थानीय प्रोजेक्ट निर्देशिका की जड़ से, निम्न कमांड चलाएँ:

    firebase emulators:start
  3. सीएलआई (आमतौर पर http://localhost:5000 ) द्वारा लौटाए गए स्थानीय यूआरएल पर अपना वेब ऐप खोलें।

  4. परिवर्तनों के साथ स्थानीय URL को अद्यतन करने के लिए, अपने ब्राउज़र को ताज़ा करें।

अन्य स्थानीय उपकरणों से परीक्षण करें

डिफ़ॉल्ट रूप से, एमुलेटर केवल localhost के अनुरोधों का जवाब देते हैं। इसका अर्थ है कि आप अपनी होस्ट की गई सामग्री को अपने कंप्यूटर के वेब ब्राउज़र से एक्सेस कर पाएंगे, लेकिन अपने नेटवर्क पर अन्य उपकरणों से नहीं। यदि आप अन्य स्थानीय उपकरणों से परीक्षण करना चाहते हैं, तो अपने firebase.json इस प्रकार कॉन्फ़िगर करें:

"emulators": {
    // ...

    "hosting": {
      "port": 5000
      "host": "0.0.0.0"
    }
  }

चरण 2: पूर्वावलोकन करें और साझा करें

अगर आप चाहते हैं कि लाइव होने से पहले अन्य लोग आपके वेब ऐप में बदलाव देखें, तो आप पूर्वावलोकन चैनल का उपयोग कर सकते हैं।

आपके द्वारा पूर्वावलोकन चैनल पर परिनियोजित करने के बाद, Firebase आपके वेब ऐप को "पूर्वावलोकन URL" पर प्रस्तुत करता है, जो एक साझा करने योग्य, अस्थायी URL है। पूर्वावलोकन URL का उपयोग करते समय, आपका वेब ऐप सभी प्रोजेक्ट संसाधनों के लिए आपके वास्तविक बैकएंड के साथ इंटरैक्ट करता है ( आपके पुनर्लेखन कॉन्फ़िगरेशन में किसी भी "पिन किए गए" फ़ंक्शन के अपवाद के साथ)।

ध्यान दें कि हालांकि पूर्वावलोकन URL का अनुमान लगाना मुश्किल है (क्योंकि उनमें एक यादृच्छिक हैश होता है), वे सार्वजनिक होते हैं। इसलिए, जो कोई भी URL जानता है, वह इसे एक्सेस कर सकता है।

  1. अपनी स्थानीय प्रोजेक्ट निर्देशिका की जड़ से, निम्न कमांड चलाएँ:

    firebase hosting:channel:deploy CHANNEL_ID

    CHANNEL_ID बिना स्पेस वाली स्ट्रिंग से बदलें (उदाहरण के लिए, feature_mission-2-mars )। इस आईडी का उपयोग पूर्वावलोकन चैनल से संबद्ध पूर्वावलोकन URL बनाने के लिए किया जाएगा।

  2. सीएलआई द्वारा लौटाए गए पूर्वावलोकन URL पर अपना वेब ऐप खोलें। यह कुछ इस तरह दिखेगा: PROJECT_ID -- CHANNEL_ID - RANDOM_HASH .web.app

  3. अपने पूर्वावलोकन URL को परिवर्तनों के साथ अद्यतन करने के लिए, वही आदेश फिर से चलाएँ। आदेश में समान CHANNEL_ID निर्दिष्ट करना सुनिश्चित करें.

पूर्वावलोकन चैनल प्रबंधित करने के बारे में जानें, साथ ही किसी चैनल की समाप्ति कैसे निर्धारित करें, इसके बारे में जानें।

फायरबेस होस्टिंग एक गिटहब एक्शन का समर्थन करता है जो पुल अनुरोध में परिवर्तन करने पर स्वचालित रूप से एक पूर्वावलोकन यूआरएल बनाता और अपडेट करता है। इस GitHub क्रिया को सेट अप और उपयोग करने का तरीका जानें।

चरण 3: लाइव तैनात करें

जब आप अपने परिवर्तनों को दुनिया के साथ साझा करने के लिए तैयार हों, तो अपनी होस्टिंग सामग्री परिनियोजित करें और अपने लाइव चैनल पर कॉन्फ़िगर करें। आपके उपयोग के मामले के आधार पर फायरबेस इस चरण के लिए कुछ अलग विकल्प प्रदान करता है (नीचे विकल्प देखें)।

विकल्प 1: पूर्वावलोकन चैनल से अपने लाइव चैनल पर क्लोन करें

यह विकल्प विश्वास दिलाता है कि आप अपने लाइव चैनल पर सटीक सामग्री और कॉन्फिग का परिनियोजन कर रहे हैं जिसका आपने पूर्वावलोकन चैनल में परीक्षण किया था। क्लोनिंग संस्करणों के बारे में अधिक जानें।

  1. किसी भी निर्देशिका से, निम्न कमांड चलाएँ:

    firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:live

    प्रत्येक प्लेसहोल्डर को निम्नलिखित से बदलें:

    • SOURCE_SITE_ID और TARGET_SITE_ID : ये उन होस्टिंग साइटों की आईडी हैं जिनमें चैनल हैं।

      • अपनी डिफ़ॉल्ट होस्टिंग साइट के लिए, अपने Firebase प्रोजेक्ट आईडी का उपयोग करें।
      • आप उन साइटों को निर्दिष्ट कर सकते हैं जो एक ही फायरबेस परियोजना में हैं या विभिन्न फायरबेस परियोजनाओं में भी हैं।
    • SOURCE_CHANNEL_ID : यह उस चैनल के लिए पहचानकर्ता है जो वर्तमान में उस संस्करण की सेवा कर रहा है जिसे आप अपने लाइव चैनल पर परिनियोजित करना चाहते हैं।

      • लाइव चैनल के लिए, चैनल आईडी के रूप में live उपयोग करें।
  2. अपने परिवर्तन देखें (अगला चरण)।

विकल्प 2: अपने स्थानीय प्रोजेक्ट डायरेक्टरी से अपने लाइव चैनल पर तैनात करें

यह विकल्प आपको लाइव चैनल के लिए विशिष्ट कॉन्फ़िगरेशन समायोजित करने या परिनियोजित करने के लिए लचीलापन प्रदान करता है, भले ही आपने पूर्वावलोकन चैनल का उपयोग न किया हो।

  1. अपनी स्थानीय प्रोजेक्ट निर्देशिका की जड़ से, निम्न कमांड चलाएँ:

    firebase deploy --only hosting
  2. अपने परिवर्तन देखें (अगला चरण)।

चरण 4: अपनी लाइव साइट पर अपने परिवर्तन देखें

ऊपर दिए गए दोनों विकल्प आपकी होस्टिंग सामग्री को तैनात करते हैं और निम्नलिखित साइटों पर कॉन्फ़िगर करते हैं:

  • आपकी डिफ़ॉल्ट होस्टिंग साइट और किसी भी अतिरिक्त होस्टिंग साइट के लिए Firebase-प्रावधान उपडोमेन:
    SITE_ID .web.app (जैसे PROJECT_ID .web.app )
    SITE_ID .firebaseapp.com (जैसे PROJECT_ID .firebaseapp.com )

  • कोई भी कस्टम डोमेन जिसे आपने अपनी होस्टिंग साइट(साइटों) से जोड़ा है

किसी विशिष्ट होस्टिंग साइट पर तैनाती को प्रतिबंधित करने के लिए, अपने सीएलआई कमांड में एक तैनाती लक्ष्य निर्दिष्ट करें

अन्य तैनात गतिविधियों और जानकारी

तैनाती के लिए एक टिप्पणी जोड़ें

आप वैकल्पिक रूप से तैनाती में एक टिप्पणी जोड़ सकते हैं। यह टिप्पणी Firebase कंसोल में होस्टिंग डैशबोर्ड पर अन्य परिनियोजन जानकारी के साथ प्रदर्शित होगी। उदाहरण के लिए:

firebase deploy --only hosting -m "Deploying the best new feature ever."

पूर्व-तैनाती जोड़ें और स्क्रिप्ट किए गए कार्यों को पोस्ट-तैनाती करें

आप वैकल्पिक रूप से शेल स्क्रिप्ट को firebase deploy कमांड से प्रीडिप्लॉय या पोस्ट डिप्लॉय कार्य करने के लिए कनेक्ट कर सकते हैं। उदाहरण के लिए, पोस्ट परिनियोजन हुक नई साइट सामग्री परिनियोजन के व्यवस्थापकों को सूचित कर सकता है। अधिक जानकारी के लिए फायरबेस सीएलआई दस्तावेज देखें।

कैशिंग तैनात सामग्री

जब स्थिर सामग्री के लिए अनुरोध किया जाता है, तो Firebase होस्टिंग स्वचालित रूप से CDN पर सामग्री को कैश कर लेती है। यदि आप अपनी साइट की सामग्री को फिर से परिनियोजित करते हैं, तो Firebase स्वचालित रूप से CDN में आपकी सभी कैश की गई स्थिर सामग्री को साफ़ कर देता है ताकि नए अनुरोध आपकी नई सामग्री प्राप्त कर सकें।

ध्यान दें कि आप गतिशील सामग्री की कैशिंग को कॉन्फ़िगर कर सकते हैं।

HTTPS पर सेवा देना

सुनिश्चित करें कि फायरबेस होस्टिंग पर होस्ट नहीं किए गए सभी बाहरी संसाधन किसी भी बाहरी स्क्रिप्ट सहित एसएसएल (एचटीटीपीएस) पर लोड किए गए हैं। अधिकांश ब्राउज़र उपयोगकर्ताओं को "मिश्रित सामग्री" (एसएसएल और गैर-एसएसएल ट्रैफ़िक) लोड करने की अनुमति नहीं देते हैं।

अगले कदम