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

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

Hosting के इन्फ़्रास्ट्रक्चर के बारे में खास जानकारी

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

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

<span class=Firebase Hosting की हैरारकी" />

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Hosting में चैनल की सदस्यता खत्म होने की तारीख को कंट्रोल करने के दो तरीके उपलब्ध हैं:

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

  • Firebase CLI
    प्रीव्यू चैनल पर डिप्लॉय करते समय, --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 का इस्तेमाल करें.
    • अगर बताया गया "target" चैनल अभी मौजूद नहीं है, तो यह निर्देश उस चैनल पर डिप्लॉय करने से पहले उसे बना देता है.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Hosting में, प्रिव्यू चैनल को मिटाने के दो अलग-अलग तरीके उपलब्ध हैं:

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

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

    firebase hosting:channel:delete CHANNEL_ID

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

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

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

निर्देश देने के लिए ब्यौरा
firebase hosting:channel:create CHANNEL_ID

यह फ़ंक्शन, default Hosting साइट में, तय किए गए CHANNEL_ID

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

firebase hosting:channel:delete CHANNEL_ID

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

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

firebase hosting:channel:deploy CHANNEL_ID

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

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

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

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

निर्देश देने के लिए ब्यौरा
firebase hosting:clone \
SOURCE_SITE_ID:SOURCE_CHANNEL_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

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

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

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

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

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

आपको VERSION_ID, Firebase कंसोल के Hosting डैशबोर्ड में दिखेगा.