अपनी साइट के लिए चैनल, रिलीज़, और वर्शन लाइव देखें और उनकी झलक देखें

Firebase Hosting console और Firebase CLI, दोनों के ज़रिए टूलिंग की सुविधा देता है. इससे, अपनी Hosting साइट के चैनलों, रिलीज़, और वर्शन को मैनेज किया जा सकता है.Firebase

इन्फ़्रास्ट्रक्चर की खास जानकारीHosting

Hosting के इन्फ़्रास्ट्रक्चर को समझने से, इस पेज पर बताई गई मैनेजमेंट सेटिंग को समझने में मदद मिलती है.

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

<span class=Firebase Hosting hierarchy" />

हर Hosting साइट का एक "लाइव" चैनल होता है. इस चैनल पर, कॉन्टेंट और Hosting कॉन्फ़िगरेशन, (1) साइट के Firebase से उपलब्ध कराए गए सबडोमेन (SITE_ID.web.app और SITE_ID.firebaseapp.com) और (2) कनेक्ट किए गए किसी भी कस्टम डोमेन पर दिखता है. इसके अलावा, "झलक" वाले चैनल भी बनाए जा सकते हैं. इन चैनलों पर, कॉन्टेंट और कॉन्फ़िगरेशन, अस्थायी, शेयर किए जा सकने वाले "झलक वाले यूआरएल" (SITE_ID--CHANNEL_ID-RANDOM_HASH.web.app) पर दिखता है.

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

अपने Firebase प्रोजेक्ट के Hosting डैशबोर्ड, पर, अपने लाइव चैनल की रिलीज़ का पूरा इतिहास रिलीज़ का इतिहास टेबल में देखा जा सकता है. अगर आपके पास एक से ज़्यादा Hosting साइटें हैं, तो रिलीज़ का इतिहास देखने के लिए, अपनी पसंद की साइट के लिए देखें पर क्लिक करें. अगर आपके पास झलक वाले चैनल हैं, वे भी Hosting डैशबोर्ड पर दिखते हैं.

किसी चैनल की सेटिंग मैनेज करना

अपनी साइट के हर चैनल के लिए, उसकी सेटिंग को कंट्रोल किया जा सकता है. कुछ सेटिंग, जैसे कि चैनल की समयसीमा खत्म होने की सेटिंग, सिर्फ़ झलक वाले चैनलों पर लागू होती हैं.

सेव की जाने वाली रिलीज़ की संख्या सीमित करना

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

  • Hosting, पिछली रिलीज़ क्यों सेव रखती है?
    लाइव चैनल के लिए, पिछली रिलीज़ सेव रखने से, ज़रूरत पड़ने पर अपनी साइट के पिछले वर्शन पर रोल बैक किया जा सकता है. फ़िलहाल, झलक वाले चैनलों के लिए रोल बैक करने की सुविधा उपलब्ध नहीं है.

  • सेव की जाने वाली रिलीज़ की संख्या सीमित क्यों की जाती है?
    इस सुविधा से, अपने प्रोजेक्ट के Hosting स्टोरेज के इस्तेमाल के लेवल को कंट्रोल किया जा सकता है. ऐसा इसलिए, क्योंकि पिछली रिलीज़ का कॉन्टेंट, इसी स्टोरेज में सेव रहता है. कंसोल में, स्टोरेज टैब से अपने Hosting स्टोरेज पर नज़र रखी जा सकती है.

  • सेव की जाने वाली रिलीज़ की संख्या सीमित करने पर क्या होता है?
    सेव की जाने वाली रिलीज़ की संख्या सीमित करने पर, सेट की गई सीमा से ज़्यादा रिलीज़ का कॉन्टेंट, मिटाने के लिए शेड्यूल कर दिया जाता है. सबसे पहले, सबसे पुरानी रिलीज़ मिटाई जाती हैं.

किसी चैनल के लिए, रिलीज़ स्टोरेज की सीमा सेट करने का तरीका यहां बताया गया है:

  1. Firebase console में, होस्टिंग और सर्वरलेस > होस्टिंग पर जाएं. इससे, रिलीज़ स्टोरेज की सेटिंग का डायलॉग खुलेगा:

    • अपने लाइव चैनल के लिए
      अपनी साइट के लिए, रिलीज़ का इतिहास टेबल में, ज़्यादा पर क्लिक करें. इसके बाद, रिलीज़ स्टोरेज की सेटिंग को चुनें.

    • किसी भी झलक वाले चैनल के लिए
      झलक वाले चैनल की लाइन में, क्लिक करें , इसके बाद, चुनें चैनल की सेटिंग.

  2. सेव की जाने वाली रिलीज़ की संख्या डालें. इसके बाद, सेव करें पर क्लिक करें.

झलक वाले चैनल की समयसीमा खत्म होने की तारीख सेट करना

डिफ़ॉल्ट रूप से, झलक वाले चैनल की समयसीमा, उसके बनने की तारीख से सात दिन बाद खत्म हो जाती है. हालांकि, आपकी साइट के लाइव चैनल की समयसीमा कभी खत्म नहीं होती.

झलक वाले चैनल की समयसीमा खत्म होने पर, चैनल के साथ-साथ उसकी रिलीज़ और उनसे जुड़े वर्शन, 24 घंटे के अंदर मिटाने के लिए शेड्यूल कर दिए जाते हैं. इससे जुड़ा झलक वाला यूआरएल भी डीऐक्टिवेट कर दिया जाता है. वर्शन को मिटाने से जुड़ी इस नीति का एक अपवाद यह है कि अगर कोई वर्शन, किसी दूसरी रिलीज़ से जुड़ा है. उदाहरण के लिए, ऐसा तब होता है, जब एक ही साइट में किसी वर्शन को एक चैनल से दूसरे चैनल पर क्लोन किया जाता है.

Hosting में, किसी चैनल की समयसीमा खत्म होने की तारीख को कंट्रोल करने के दो अलग-अलग तरीके हैं:

  • Firebase कंसोल
    झलक वाले चैनल की लाइन में, पर क्लिक करें. इसके बाद, चैनल की सेटिंग को चुनें. समयसीमा खत्म होने की तारीख और समय डालें.

  • Firebase सीएलआई
    अपने झलक वाले चैनल पर कॉन्टेंट डिप्लॉय करते समय, --expires DURATION फ़्लैग पास करें. उदाहरण के लिए:

    firebase hosting:channel:deploy new-awesome-feature --expires 7d

    डिप्लॉयमेंट की तारीख से 30 दिनों तक की समयसीमा सेट की जा सकती है. घंटों के लिए h, दिनों के लिए d, और हफ़्तों के लिए w का इस्तेमाल करें. उदाहरण के लिए, 12h, 7d, 2w, क्रमशः.

किसी वर्शन को एक चैनल से दूसरे चैनल पर क्लोन करना

डिप्लॉय किए गए किसी वर्शन को एक चैनल से दूसरे चैनल पर क्लोन किया जा सकता है. लाइव या झलक वाले चैनलों, Hosting साइटों या Firebase प्रोजेक्ट के बीच भी क्लोन किया जा सकता है.

क्लोन करने का कमांड, "टारगेट" चैनल पर भी डिप्लॉय करता है. इससे, क्लोन किया गया Hosting कॉन्टेंट और कॉन्फ़िगरेशन, "टारगेट" चैनल के यूआरएल पर अपने-आप दिखने लगता है.

यह सुविधा, वर्शन की ट्रैकिंग के लिए या अगर आपको यह पक्का करना है कि आपने किसी दूसरे चैनल पर जो कॉन्टेंट देखा और/या टेस्ट किया है, ठीक वही कॉन्टेंट डिप्लॉय किया है, तो काम की है. यहां कुछ उदाहरण दिए गए हैं:

  • "QA" झलक वाले चैनल से, अपनी साइट के लाइव चैनल पर क्लोन करना (लाइव होने के लिए!)

  • अपनी साइट के लाइव चैनल से, "डीबग" झलक वाले चैनल पर क्लोन करना (जैसे, रोल बैक करने से पहले)

  • अपने "स्टेजिंग" Firebase प्रोजेक्ट के किसी चैनल से, अपने "prod" Firebase प्रोजेक्ट के झलक वाले चैनल पर क्लोन करना

किसी वर्शन को क्लोन करने के लिए, किसी भी डायरेक्ट्री से यह कमांड चलाएं:

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

हर प्लेसहोल्डर की जगह, यह जानकारी डालें:

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

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

    • लाइव चैनल के लिए, चैनल आईडी के तौर पर live का इस्तेमाल करें.
    • अगर बताया गया "टारगेट" चैनल मौजूद नहीं है, तो यह कमांड, चैनल पर कॉन्टेंट डिप्लॉय करने से पहले चैनल बना देता है.

अपनी साइट के पिछले वर्शन पर रोल बैक करना

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

रोल बैक करने पर, एक नई रिलीज़ बनती है. इस रिलीज़ में, पिछली रिलीज़ के जैसा ही कॉन्टेंट दिखता है. रिलीज़ का इतिहास टेबल में, दोनों रिलीज़ में एक ही वर्शन आइडेंटिफ़ायर दिखेगा.

रोल बैक करने का तरीका यहां बताया गया है:

  1. Firebase console में, होस्टिंग और सर्वरलेस > होस्टिंग पर जाएं.

  2. अपनी साइट के लिए, रिलीज़ का इतिहास टेबल में, उस पिछली रिलीज़ की एंट्री पर कर्सर घुमाएं जिस पर आपको रोल बैक करना है.

  3. पर क्लिक करें. इसके बाद, रोल बैक करें को चुनें.

किसी रिलीज़ को मैन्युअल तरीके से मिटाना

अपने प्रोजेक्ट के लिए, Hosting स्टोरेज खाली करने के लिए, आपको अपने लाइव चैनल से किसी रिलीज़ को मैन्युअल तरीके से मिटाना पड़ सकता है. सिर्फ़ पिछली रिलीज़ मिटाई जा सकती हैं. लाइव साइट पर फ़िलहाल दिख रही रिलीज़ नहीं मिटाई जा सकती.

किसी रिलीज़ को मिटाने का मतलब है कि उसका कॉन्टेंट मिटाना. यह कॉन्टेंट, 24 घंटे के अंदर मिटाने के लिए शेड्यूल कर दिया जाता है. रिलीज़ ऑब्जेक्ट को सेव रखा जाता है, ताकि उसका मेटाडेटा (किसने और कब डिप्लॉय किया) देखा जा सके.

किसी रिलीज़ को मिटाने का तरीका यहां बताया गया है:

  1. Firebase console में, होस्टिंग और सर्वरलेस > होस्टिंग पर जाएं.

  2. अपनी साइट के लिए, रिलीज़ का इतिहास टेबल में, उस पिछली रिलीज़ की एंट्री पर कर्सर घुमाएं जिसे आपको मिटाना है.

  3. पर क्लिक करें. इसके बाद, मिटाएं को चुनें.

फ़ाइलों को मैन्युअल तरीके से मिटाना

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

झलक वाले चैनल को मैन्युअल तरीके से मिटाना

झलक देखने के लिए, उस चैनल पर क्लिक करें जिसकी झलक देखनी है. इस व्यू से, किसी खास चैनल से जुड़े सबसे नए डिप्लॉयमेंट और रिलीज़ को देखा, मिटाया, और वापस लाया जा सकता है. झलक वाले चैनल को मिटाया जा सकता है. हालांकि, अपनी साइट के लाइव चैनल को नहीं मिटाया जा सकता.

झलक वाले चैनल को मिटाने पर, चैनल के साथ-साथ उसकी रिलीज़ और उनसे जुड़े वर्शन, 24 घंटे के अंदर मिटाने के लिए शेड्यूल कर दिए जाते हैं. इससे जुड़ा झलक वाला यूआरएल भी डीऐक्टिवेट कर दिया जाता है. वर्शन को मिटाने से जुड़ी इस नीति का एक अपवाद यह है कि अगर कोई वर्शन, किसी दूसरी रिलीज़ से जुड़ा है. उदाहरण के लिए, ऐसा तब होता है, जब एक ही साइट में किसी वर्शन को एक चैनल से दूसरे चैनल पर क्लोन किया जाता है.

Hosting में, झलक वाले चैनल को मिटाने के दो अलग-अलग तरीके हैं:

  • Firebase कंसोल
    झलक वाले चैनल की लाइन में, पर क्लिक करें. इसके बाद, चैनल मिटाएं को चुनें. मिटाए जाने की पुष्टि करें.

  • Firebase CLI
    किसी भी डायरेक्ट्री से यह कमांड चलाएं:

    firebase hosting:channel:delete CHANNEL_ID

झलक वाले चैनलों और क्लोनिंग के लिए सीएलआई कमांड

झलक वाले चैनलों के लिए कमांड

अगर आपके पास एक से ज़्यादा Hosting साइटें हैं, तो झलक वाले चैनलों के सभी कमांड, डिप्लॉय टारगेट के साथ काम करते हैं.

कमांड ब्यौरा
firebase hosting:channel:create CHANNEL_ID

बताए गए CHANNEL_ID का इस्तेमाल करके, डिफ़ॉल्ट Hosting साइट में एक नया झलक वाला चैनल बनाता है

यह कमांड, चैनल पर कॉन्टेंट डिप्लॉय नहीं करता.

firebase hosting:channel:delete CHANNEL_ID

बताए गए झलक वाले चैनल को मिटाता है

किसी साइट के लाइव चैनल को नहीं मिटाया जा सकता.

firebase hosting:channel:deploy CHANNEL_ID

बताए गए झलक वाले चैनल पर, आपका Hosting कॉन्टेंट और कॉन्फ़िगरेशन डिप्लॉय करता है

अगर झलक वाला चैनल मौजूद नहीं है, तो यह कमांड, चैनल पर कॉन्टेंट डिप्लॉय करने से पहले डिफ़ॉल्ट Hosting साइट में चैनल बना देता है.

firebase hosting:channel:list डिफ़ॉल्ट Hosting साइट में मौजूद सभी चैनलों ("लाइव" चैनल भी शामिल है) की सूची दिखाता है
firebase hosting:channel:open CHANNEL_ID बताए गए चैनल के यूआरएल पर ब्राउज़र खोलता है या अगर ब्राउज़र में खोलना मुमकिन नहीं है, तो यूआरएल दिखाता है

वर्शन क्लोन करने के लिए कमांड

कमांड ब्यौरा
firebase hosting:clone \
SOURCE_SITE_ID:SOURCE_CHANNEL_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

बताए गए "सोर्स" चैनल पर सबसे हाल में डिप्लॉय किए गए वर्शन को, बताए गए "टारगेट" चैनल पर क्लोन करता है

यह कमांड, बताए गए "टारगेट" चैनल पर भी कॉन्टेंट डिप्लॉय करता है. अगर "टारगेट" चैनल मौजूद नहीं है, तो यह कमांड, चैनल पर कॉन्टेंट डिप्लॉय करने से पहले "टारगेट" Hosting साइट में एक नया झलक वाला चैनल बना देता है.

firebase hosting:clone \
SOURCE_SITE_ID:@VERSION_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

बताए गए वर्शन को, बताए गए "टारगेट" चैनल पर क्लोन करता है

यह कमांड, बताए गए "टारगेट" चैनल पर भी कॉन्टेंट डिप्लॉय करता है. अगर "टारगेट" चैनल मौजूद नहीं है, तो यह कमांड, चैनल पर कॉन्टेंट डिप्लॉय करने से पहले "टारगेट" Hosting साइट में एक नया झलक वाला चैनल बना देता है.

आप VERSION_ID को Hosting डैशबोर्ड में Firebase कंसोल में देख सकते हैं.