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

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

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

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

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

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

चरण 1: टेस्ट स्थानीय स्तर पर

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

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

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

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

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

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

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

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

"emulators": {
    // ...

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

चरण 2: पूर्वावलोकन और शेयर

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

आपके द्वारा पूर्वावलोकन चैनल पर परिनियोजित करने के बाद, Firebase आपके वेब ऐप को "पूर्वावलोकन 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: पूर्वावलोकन चैनल से अपने लाइव चैनल पर क्लोन करें

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

  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: आपकी लाइव साइट पर अपने परिवर्तनों को देखें

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

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

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

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

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

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

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

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

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

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

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

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

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

HTTPS पर सेवा करना

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

अगला कदम