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

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

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

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

  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: पूर्वावलोकन करें और साझा करें

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

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

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

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

    firebase hosting:channel:deploy CHANNEL_ID

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

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

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

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

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

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

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

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

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

  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. अपने परिवर्तन देखें (अगला चरण)।

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

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

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

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

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

अगले कदम