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

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

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

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

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

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

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

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

अपने 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 डैशबोर्ड में दिखेगा.