अपने वेब ऐप्लिकेशन को स्थानीय तौर पर टेस्ट करें, दूसरों के साथ बदलाव शेयर करें, और उसे लाइव डिप्लॉय करें

लाइव साइट पर डिप्लॉय करने से पहले, आपको अपने बदलावों को देखना और उनकी जांच करनी होगी. Firebase Hosting से आपको बदलावों को स्थानीय तौर पर देखने और उनकी जांच करने के साथ-साथ इंटरैक्ट करने की सुविधा मिलती है उपलब्ध कराने के लिए किया जा सकता है. अगर आप चाहते हैं कि आपकी टीम के लोग तो आपके बदलावों की जाँच करने के लिए, Hosting आपकी साइट. हम यह भी देखते हैं कि पुल से डिप्लॉय करने के लिए, GitHub इंटिग्रेशन अनुरोध.

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

ऊपर दिए गए चरणों को पूरा करें Hosting 'शुरू करें' पेज, खास तौर पर ये काम पूरे करें:

  1. Firebase सीएलआई को इंस्टॉल या उसके सबसे नए वर्शन में अपडेट करें.
  2. अपने Firebase प्रोजेक्ट से, लोकल प्रोजेक्ट डायरेक्ट्री (जिसमें आपके ऐप्लिकेशन का कॉन्टेंट शामिल है) को कनेक्ट करें.

अपने ऐप्लिकेशन के Hosting कॉन्टेंट और कॉन्फ़िगरेशन को डिप्लॉय किया जा सकता है. हालांकि, ऐसा करना ज़रूरी नहीं है इस पेज पर दिए गए चरणों के लिए ज़रूरी नहीं है.

पहला चरण: स्थानीय तौर पर जांच करें

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

Hosting, Firebase Local Emulator Suite का हिस्सा है, इससे आपका ऐप्लिकेशन, आपके नकली Hosting कॉन्टेंट के साथ इंटरैक्ट कर पाता है और config के साथ-साथ आपके एम्युलेट किए गए प्रोजेक्ट रिसोर्स (फ़ंक्शन, डेटाबेस, और नियम).

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

  2. अपनी लोकल प्रोजेक्ट डायरेक्ट्री के रूट से, यह कमांड चलाएं:

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

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

दूसरे लोकल डिवाइसों से टेस्ट करें

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

"emulators": {
    // ...

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

दूसरा चरण: झलक देखना और शेयर करना

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

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

ध्यान दें कि झलक वाले यूआरएल का अनुमान लगाना मुश्किल है, क्योंकि इनमें हैश), तो ये सार्वजनिक होते हैं. इसलिए, जिस व्यक्ति के पास यूआरएल है वह इसे ऐक्सेस कर सकता है.

  1. अपनी लोकल प्रोजेक्ट डायरेक्ट्री के रूट से, यह कमांड चलाएं:

    firebase hosting:channel:deploy CHANNEL_ID

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

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

  3. अपने झलक यूआरएल में बदलावों को अपडेट करने के लिए, उसी निर्देश को फिर से चलाएं. कंपनी या ब्रैंड आदेश में उसी CHANNEL_ID को तय करना न भूलें.

झलक दिखाने वाले चैनलों को मैनेज करने के बारे में जानें, जैसे, चैनल के खत्म होने की समयसीमा सेट करने का तरीका.

Firebase Hosting, GitHub की ऐसी कार्रवाई के साथ काम करता है जो अपने-आप जनरेट और पुल के अनुरोध में बदलाव करने पर, झलक यूआरएल को अपडेट किया जाता है. सीखें कि कैसे GitHub की इस कार्रवाई को सेट अप और इस्तेमाल करें.

तीसरा चरण: लाइव डिप्लॉय करें

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

पहला विकल्प: झलक दिखाने वाले चैनल से लाइव चैनल पर क्लोन बनाना

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

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

    firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:live

    हर प्लेसहोल्डर को इनसे बदलें:

    • SOURCE_SITE_ID और TARGET_SITE_ID: ये आईडी हैं कुल Hosting साइटें जिनमें चैनल शामिल हैं.

      • अपनी डिफ़ॉल्ट Hosting साइट के लिए, अपने Firebase प्रोजेक्ट आईडी का इस्तेमाल करें.
      • आप ऐसी साइटें तय कर सकते हैं जो उसी Firebase प्रोजेक्ट में या फिर अलग-अलग Firebase प्रोजेक्ट के लिए बनाया गया है.
    • SOURCE_CHANNEL_ID: यह उस चैनल का आइडेंटिफ़ायर होता है वर्तमान में उस वर्शन को उपलब्ध करा रहा है जिसे आप अपने लाइव चैनल पर डिप्लॉय करना चाहते हैं.

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

दूसरा विकल्प: अपनी लोकल प्रोजेक्ट डायरेक्ट्री से लाइव चैनल पर डिप्लॉय करना

इस विकल्प से आपको नीचे दिए गए कॉन्फ़िगरेशन के हिसाब से, लाइव चैनल इस्तेमाल करना या डिप्लॉय करना. भले ही, आपने प्रीव्यू चैनल का इस्तेमाल न किया हो.

  1. अपनी लोकल प्रोजेक्ट डायरेक्ट्री के रूट से, यह कमांड चलाएं:

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

चौथा चरण: अपनी लाइव साइट पर बदलाव देखें

ऊपर दिए गए दोनों विकल्प, आपके Hosting कॉन्टेंट को डिप्लॉय करते हैं. साथ ही, ये साइटें इन साइटों का हिस्सा हैं:

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

  • ऐसे सभी कस्टम डोमेन जिनसे आपने कनेक्ट किया है आपकी Hosting साइट(साइटें)

किसी खास Hosting साइट पर डिप्लॉयमेंट के लिए, डिप्लॉयमेंट टारगेट तय करना अपने CLI आदेश में शामिल करें.

डिप्लॉयमेंट से जुड़ी अन्य गतिविधियां और जानकारी

डिप्लॉयमेंट के लिए टिप्पणी जोड़ें

डिप्लॉयमेंट में टिप्पणी भी जोड़ी जा सकती है. हालांकि, ऐसा करना ज़रूरी नहीं है. यह टिप्पणी डिप्लॉयमेंट की अन्य जानकारी Hosting डैशबोर्ड Firebase कंसोल में. उदाहरण के लिए:

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

पहले से डिप्लॉय और पोस्ट डिप्लॉयमेंट के लिए, स्क्रिप्ट किए गए टास्क जोड़ें

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

डिप्लॉय किए गए कॉन्टेंट को कैश मेमोरी में सेव करना

स्टैटिक कॉन्टेंट के लिए अनुरोध किए जाने पर, Firebase Hosting अपने-आप ऐसा होता है सीडीएन पर कॉन्टेंट को कैश मेमोरी में सेव करता है. अगर साइट के कॉन्टेंट को फिर से डिप्लॉय किया जाता है, तो Firebase यह पूरे सीडीएन में कैश मेमोरी में सेव किए गए आपके सभी स्टैटिक कॉन्टेंट को अपने-आप हटा देता है, ताकि नया आपके नए कॉन्टेंट को पाने के अनुरोधों को पूरा करें.

ध्यान दें कि आप डाइनैमिक कॉन्टेंट को कैश मेमोरी में सेव करना.

एचटीटीपीएस पर दिखाना

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

फ़ाइलें मिटाना

Firebase Hosting में, डिप्लॉय की गई साइट से चुनी गई फ़ाइलों को मिटाने का मुख्य तरीका यह है कि फ़ाइलों को स्थानीय तौर पर मिटाएं और फिर उन्हें फिर से डिप्लॉय करें.

अगले चरण