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

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

होस्टिंग इन्फ़्रास्ट्रक्चर की खास जानकारी

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

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

Firebase होस्टिंग हैरारकी की एक इमेज

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

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

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

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

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

बनाए रखने के लिए, रिलीज़ की संख्या को सीमित रखें

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

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

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

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

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

  1. Firebase कंसोल में, रिलीज़ स्टोरेज सेटिंग डायलॉग को ऐक्सेस करें:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • अपने "स्टेजिंग" Firebase प्रोजेक्ट में किसी चैनल से क्लोन बनाएं, जो आपके "प्रोडक्शन" Firebase प्रोजेक्ट में झलक चैनल पर ले जाता है

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

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Firebase सीएलआई
    किसी भी डायरेक्ट्री से, नीचे दिया गया कमांड चलाएं:

    firebase hosting:channel:delete CHANNEL_ID

झलक चैनलों और क्लोनिंग के लिए सीएलआई निर्देश

झलक दिखाने वाले चैनलों के लिए निर्देश

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

आदेश ब्यौरा
firebase hosting:channel:create CHANNEL_ID

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

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

firebase hosting:channel:delete CHANNEL_ID

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

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

firebase hosting:channel:deploy CHANNEL_ID

यह आपके होस्टिंग कॉन्टेंट और कॉन्फ़िगरेशन को तय किए गए प्रीव्यू चैनल के साथ डिप्लॉय करती है

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

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

वर्शन क्लोन करने के लिए निर्देश

आदेश ब्यौरा
firebase hosting:clone \
SOURCE_SITE_ID:SOURCE_CHANNEL_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

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

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

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

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

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

VERSION_ID को 'Firebase कंसोल' के होस्टिंग डैशबोर्ड में देखा जा सकता है.