Firebase Hosting console और Firebase CLI, दोनों के ज़रिए टूलिंग की सुविधा देता है. इससे, अपनी Hosting साइट के चैनलों, रिलीज़, और वर्शन को मैनेज किया जा सकता है.Firebase
इन्फ़्रास्ट्रक्चर की खास जानकारीHosting
Hosting के इन्फ़्रास्ट्रक्चर को समझने से, इस पेज पर बताई गई मैनेजमेंट सेटिंग को समझने में मदद मिलती है.
हर Firebase प्रोजेक्ट के लिए, डिफ़ॉल्ट रूप से एक Hosting साइट होती है. इसके पास प्रोजेक्ट के सभी संसाधनों (डेटाबेस, पुष्टि, फ़ंक्शन वगैरह) का ऐक्सेस होता है. किसी साइट में एक या एक से ज़्यादा चैनल हो सकते हैं. हर चैनल, एक यूआरएल से जुड़ा होता है. इस यूआरएल पर, खास कॉन्टेंट और Hosting कॉन्फ़िगरेशन दिखता है.
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 स्टोरेज पर नज़र रखी जा सकती है.सेव की जाने वाली रिलीज़ की संख्या सीमित करने पर क्या होता है?
सेव की जाने वाली रिलीज़ की संख्या सीमित करने पर, सेट की गई सीमा से ज़्यादा रिलीज़ का कॉन्टेंट, मिटाने के लिए शेड्यूल कर दिया जाता है. सबसे पहले, सबसे पुरानी रिलीज़ मिटाई जाती हैं.
किसी चैनल के लिए, रिलीज़ स्टोरेज की सीमा सेट करने का तरीका यहां बताया गया है:
Firebase console में, होस्टिंग और सर्वरलेस > होस्टिंग पर जाएं. इससे, रिलीज़ स्टोरेज की सेटिंग का डायलॉग खुलेगा:
अपने लाइव चैनल के लिए
अपनी साइट के लिए, रिलीज़ का इतिहास टेबल में, ज़्यादा पर क्लिक करें. इसके बाद, रिलीज़ स्टोरेज की सेटिंग को चुनें.किसी भी झलक वाले चैनल के लिए
झलक वाले चैनल की लाइन में, क्लिक करें , इसके बाद, चुनें चैनल की सेटिंग.
सेव की जाने वाली रिलीज़ की संख्या डालें. इसके बाद, सेव करें पर क्लिक करें.
झलक वाले चैनल की समयसीमा खत्म होने की तारीख सेट करना
डिफ़ॉल्ट रूप से, झलक वाले चैनल की समयसीमा, उसके बनने की तारीख से सात दिन बाद खत्म हो जाती है. हालांकि, आपकी साइट के लाइव चैनल की समयसीमा कभी खत्म नहीं होती.
झलक वाले चैनल की समयसीमा खत्म होने पर, चैनल के साथ-साथ उसकी रिलीज़ और उनसे जुड़े वर्शन, 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का इस्तेमाल करें. - अगर बताया गया "टारगेट" चैनल मौजूद नहीं है, तो यह कमांड, चैनल पर कॉन्टेंट डिप्लॉय करने से पहले चैनल बना देता है.
- लाइव चैनल के लिए, चैनल आईडी के तौर पर
अपनी साइट के पिछले वर्शन पर रोल बैक करना
अपनी साइट के लाइव चैनल के पिछले वर्शन पर रोल बैक किया जा सकता है. अगर आपकी मौजूदा रिलीज़ में कोई समस्या है और आपको अपनी साइट के ऐसे वर्शन पर रोल बैक करना है जो काम कर रहा है, तो यह कार्रवाई काम की है. इसके अलावा, हो सकता है कि आपकी साइट पर छुट्टियों या किसी खास इवेंट के लिए अस्थायी कॉन्टेंट दिखाया गया हो. हालांकि, अब आपको "सामान्य" कॉन्टेंट दिखाने के लिए रोल बैक करना है.
रोल बैक करने पर, एक नई रिलीज़ बनती है. इस रिलीज़ में, पिछली रिलीज़ के जैसा ही कॉन्टेंट दिखता है. रिलीज़ का इतिहास टेबल में, दोनों रिलीज़ में एक ही वर्शन आइडेंटिफ़ायर दिखेगा.
रोल बैक करने का तरीका यहां बताया गया है:
Firebase console में, होस्टिंग और सर्वरलेस > होस्टिंग पर जाएं.
अपनी साइट के लिए, रिलीज़ का इतिहास टेबल में, उस पिछली रिलीज़ की एंट्री पर कर्सर घुमाएं जिस पर आपको रोल बैक करना है.
पर क्लिक करें. इसके बाद, रोल बैक करें को चुनें.
किसी रिलीज़ को मैन्युअल तरीके से मिटाना
अपने प्रोजेक्ट के लिए, Hosting स्टोरेज खाली करने के लिए, आपको अपने लाइव चैनल से किसी रिलीज़ को मैन्युअल तरीके से मिटाना पड़ सकता है. सिर्फ़ पिछली रिलीज़ मिटाई जा सकती हैं. लाइव साइट पर फ़िलहाल दिख रही रिलीज़ नहीं मिटाई जा सकती.
किसी रिलीज़ को मिटाने का मतलब है कि उसका कॉन्टेंट मिटाना. यह कॉन्टेंट, 24 घंटे के अंदर मिटाने के लिए शेड्यूल कर दिया जाता है. रिलीज़ ऑब्जेक्ट को सेव रखा जाता है, ताकि उसका मेटाडेटा (किसने और कब डिप्लॉय किया) देखा जा सके.
किसी रिलीज़ को मिटाने का तरीका यहां बताया गया है:
Firebase console में, होस्टिंग और सर्वरलेस > होस्टिंग पर जाएं.
अपनी साइट के लिए, रिलीज़ का इतिहास टेबल में, उस पिछली रिलीज़ की एंट्री पर कर्सर घुमाएं जिसे आपको मिटाना है.
पर क्लिक करें. इसके बाद, मिटाएं को चुनें.
फ़ाइलों को मैन्युअल तरीके से मिटाना
Firebase Hosting में, डिप्लॉय की गई साइट से चुनी गई फ़ाइलों को मिटाने का मुख्य तरीका यह है कि फ़ाइलों को स्थानीय तौर पर मिटाया जाए. इसके बाद, फिर से डिप्लॉय किया जाए.
झलक वाले चैनल को मैन्युअल तरीके से मिटाना
झलक देखने के लिए, उस चैनल पर क्लिक करें जिसकी झलक देखनी है. इस व्यू से, किसी खास चैनल से जुड़े सबसे नए डिप्लॉयमेंट और रिलीज़ को देखा, मिटाया, और वापस लाया जा सकता है. झलक वाले चैनल को मिटाया जा सकता है. हालांकि, अपनी साइट के लाइव चैनल को नहीं मिटाया जा सकता.
झलक वाले चैनल को मिटाने पर, चैनल के साथ-साथ उसकी रिलीज़ और उनसे जुड़े वर्शन, 24 घंटे के अंदर मिटाने के लिए शेड्यूल कर दिए जाते हैं. इससे जुड़ा झलक वाला यूआरएल भी डीऐक्टिवेट कर दिया जाता है. वर्शन को मिटाने से जुड़ी इस नीति का एक अपवाद यह है कि अगर कोई वर्शन, किसी दूसरी रिलीज़ से जुड़ा है. उदाहरण के लिए, ऐसा तब होता है, जब एक ही साइट में किसी वर्शन को एक चैनल से दूसरे चैनल पर क्लोन किया जाता है.
Hosting में, झलक वाले चैनल को मिटाने के दो अलग-अलग तरीके हैं:
Firebase कंसोल
झलक वाले चैनल की लाइन में, पर क्लिक करें. इसके बाद, चैनल मिटाएं को चुनें. मिटाए जाने की पुष्टि करें.Firebase CLI
किसी भी डायरेक्ट्री से यह कमांड चलाएं:firebase hosting:channel:delete CHANNEL_ID
झलक वाले चैनलों और क्लोनिंग के लिए सीएलआई कमांड
झलक वाले चैनलों के लिए कमांड
अगर आपके पास एक से ज़्यादा Hosting साइटें हैं, तो झलक वाले चैनलों के सभी कमांड, डिप्लॉय टारगेट के साथ काम करते हैं.
| कमांड | ब्यौरा |
|---|---|
firebase hosting:channel:create CHANNEL_ID
|
बताए गए
यह कमांड, चैनल पर कॉन्टेंट डिप्लॉय नहीं करता. |
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 \
|
बताए गए "सोर्स" चैनल पर सबसे हाल में डिप्लॉय किए गए वर्शन को, बताए गए "टारगेट" चैनल पर क्लोन करता है यह कमांड, बताए गए "टारगेट" चैनल पर भी कॉन्टेंट डिप्लॉय करता है. अगर "टारगेट" चैनल मौजूद नहीं है, तो यह कमांड, चैनल पर कॉन्टेंट डिप्लॉय करने से पहले "टारगेट" Hosting साइट में एक नया झलक वाला चैनल बना देता है. |
firebase hosting:clone \
|
बताए गए वर्शन को, बताए गए "टारगेट" चैनल पर क्लोन करता है यह कमांड, बताए गए "टारगेट" चैनल पर भी कॉन्टेंट डिप्लॉय करता है. अगर "टारगेट" चैनल मौजूद नहीं है, तो यह कमांड, चैनल पर कॉन्टेंट डिप्लॉय करने से पहले "टारगेट" Hosting साइट में एक नया झलक वाला चैनल बना देता है. आप |