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

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

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" प्रिव्यू चैनल से क्लोन करें (लाइव हो रहा है!)

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

  • अपने "staging" 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. पर क्लिक करें. इसके बाद, पहले जैसा करें को चुनें.

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

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

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

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

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

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

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

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 साइट में एक नया प्रीव्यू चैनल बनाता है. इसके बाद, उसे चैनल पर डिप्लॉय करता है.

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