Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

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

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

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

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

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

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

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

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

  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 का अनुमान लगाना कठिन है (क्योंकि उनमें एक यादृच्छिक हैश होता है), वे सार्वजनिक होते हैं। इसलिए, जो कोई भी यूआरएल जानता है, वह इसे एक्सेस कर सकता है।

  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 निर्दिष्ट करना सुनिश्चित करें।

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

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

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

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

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

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

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

    firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:live

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

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

      • अपनी डिफ़ॉल्ट होस्टिंग साइट के लिए, अपने फायरबेस प्रोजेक्ट आईडी का उपयोग करें।
      • आप ऐसी साइटें निर्दिष्ट कर सकते हैं जो एक ही Firebase प्रोजेक्ट में हैं या यहां तक ​​कि विभिन्न 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 )

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

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

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

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

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

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

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

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

कैशिंग परिनियोजित सामग्री

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

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

HTTPS पर सेवा करना

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

अगले कदम