लक्ष्य तैनात करें

आपके फ़ायरबेस प्रोजेक्ट में फ़ायरबेस संसाधनों के लिए परिनियोजन लक्ष्य संक्षिप्त-नाम पहचानकर्ता (जिन्हें आप स्वयं परिभाषित करते हैं) हैं, जैसे अद्वितीय स्थैतिक संपत्तियों वाली एक होस्टिंग साइट या रीयलटाइम डेटाबेस उदाहरणों का एक समूह जो समान सुरक्षा नियम साझा करते हैं।

जब आपके पास एकाधिक होस्टिंग साइटें , एकाधिक क्लाउड स्टोरेज बकेट, या एकाधिक रीयलटाइम डेटाबेस इंस्टेंसेस हों तो लक्ष्य तैनात करना उपयोगी होता है। तैनाती लक्ष्यों के साथ, फायरबेस सीएलआई आपके प्रोजेक्ट में एक विशिष्ट फायरबेस संसाधन या संसाधनों के समूह में सेटिंग्स तैनात कर सकता है, जैसे:

  • आपकी प्रत्येक होस्टिंग साइट के लिए होस्टिंग कॉन्फ़िगरेशन
  • आपकी प्रत्येक होस्टिंग साइट के लिए आपकी प्रोजेक्ट निर्देशिका से स्थैतिक संपत्तियाँ
  • कई रीयलटाइम डेटाबेस इंस्टेंसेस या कई क्लाउड स्टोरेज बकेट द्वारा साझा किए गए सुरक्षा नियम

एक तैनाती लक्ष्य स्थापित करने के लिए:

  1. लक्षित फायरबेस संसाधन या फायरबेस संसाधनों के समूह पर TARGET_NAME लागू करें
  2. जब आप प्रत्येक संसाधन या संसाधनों के समूह के लिए सेटिंग्स कॉन्फ़िगर कर रहे हों तो अपनी firebase.json फ़ाइल में संबंधित TARGET_NAME संदर्भ लें

जब आप फ़ायरबेस सीएलआई कमांड चलाते हैं (जैसे firebase deploy ), फ़ायरबेस सीएलआई प्रत्येक TARGET_NAME उसके संबंधित फ़ायरबेस संसाधनों के साथ जोड़ता है। फिर सीएलआई आपके फायरबेस प्रोजेक्ट को प्रत्येक संसाधन के लिए सेटिंग्स बताता है।

अपने फायरबेस संसाधनों के लिए तैनाती लक्ष्य निर्धारित करें

फ़ायरबेस सीएलआई का उपयोग करके, फ़ायरबेस संसाधन या फ़ायरबेस संसाधनों के समूह पर एक TARGET_NAME (संक्षिप्त नाम पहचानकर्ता जिसे आप स्वयं परिभाषित करते हैं) लागू करें। फायरबेस इनके लिए लक्ष्य परिनियोजन का समर्थन करता है:

लक्ष्य परिनियोजन के लिए सेटिंग्स आपके प्रोजेक्ट निर्देशिका में .firebaserc फ़ाइल में संग्रहीत की जाती हैं, इसलिए आपको प्रति प्रोजेक्ट केवल एक बार परिनियोजन लक्ष्य सेट करने की आवश्यकता है।

होस्टिंग के लिए तैनाती लक्ष्य निर्धारित करें

एक परिनियोजन लक्ष्य बनाने और एक होस्टिंग साइट पर TARGET_NAME लागू करने के लिए, निम्नलिखित CLI कमांड चलाएँ:

firebase target:apply TYPE TARGET_NAME RESOURCE_IDENTIFIER

पैरामीटर कहां हैं:

  • TYPE - प्रासंगिक फायरबेस संसाधन प्रकार

    • फायरबेस होस्टिंग साइटों के लिए, hosting उपयोग करें।
  • TARGET_NAME — उस होस्टिंग साइट के लिए एक अद्वितीय नाम जिस पर आप तैनात कर रहे हैं

  • RESOURCE_IDENTIFIER - आपके फायरबेस प्रोजेक्ट में सूचीबद्ध होस्टिंग साइट के लिए SITE_ID

उदाहरण के लिए, यदि आपने अपने फायरबेस प्रोजेक्ट में दो साइटें ( myapp-blog और myapp-app ) बनाई हैं, तो आप निम्नलिखित कमांड चलाकर प्रत्येक साइट पर एक अद्वितीय TARGET_NAME (क्रमशः blog और app ) लागू कर सकते हैं:

firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app

क्लाउड स्टोरेज या रीयलटाइम डेटाबेस के लिए तैनाती लक्ष्य निर्धारित करें

एक परिनियोजन लक्ष्य बनाने और क्लाउड स्टोरेज या रीयलटाइम डेटाबेस संसाधनों के एक सेट पर TARGET_NAME लागू करने के लिए, निम्नलिखित CLI कमांड चलाएँ:

firebase target:apply TYPE TARGET_NAME RESOURCE-1_IDENTIFIER RESOURCE-2_IDENTIFIER ...

पैरामीटर कहां हैं:

  • TYPE - प्रासंगिक फायरबेस संसाधन प्रकार

    • क्लाउड स्टोरेज बकेट के लिए, storage उपयोग करें।
    • रीयलटाइम डेटाबेस उदाहरणों के लिए, database उपयोग करें।
  • TARGET_NAME - सुरक्षा नियमों को साझा करने वाले संसाधन या संसाधनों के समूह के लिए एक अद्वितीय नाम

  • RESOURCE_IDENTIFIER - आपके फायरबेस प्रोजेक्ट में सूचीबद्ध संसाधनों के लिए पहचानकर्ता (जैसे स्टोरेज बकेट नाम या डेटाबेस इंस्टेंस आईडी) जो सभी समान सुरक्षा नियम साझा करते हैं

उदाहरण के लिए, आप निम्नलिखित कमांड चलाकर तीन क्षेत्रीय क्लाउड स्टोरेज बकेट (जो सभी समान सुरक्षा नियम साझा करते हैं) के समूह में main का TARGET_NAME लागू कर सकते हैं:

firebase target:apply storage main myproject.appspot.com myproject-eu myproject-ja

ध्यान दें कि myproject.appspot.com डिफ़ॉल्ट बकेट के लिए पहचानकर्ता है, जबकि myproject-eu और myproject-ja फायरबेस प्रोजेक्ट में बनाई गई दो अतिरिक्त बकेट हैं।

परिनियोजन लक्ष्यों का उपयोग करने के लिए अपनी firebase.json फ़ाइल को कॉन्फ़िगर करें

अपने फायरबेस संसाधनों के लिए तैनाती लक्ष्य निर्धारित करने के बाद, अपनी firebase.json कॉन्फ़िगरेशन फ़ाइल में प्रत्येक लागू TARGET_NAME संदर्भ लें:

  1. प्रत्येक फायरबेस संसाधन TYPE ( hosting , storage , या database ) के लिए कॉन्फ़िगरेशन ऑब्जेक्ट की एक सरणी बनाएं।
  2. सरणियों में, target निर्दिष्ट करें ( TARGET_NAME उपयोग करके) और संबंधित फायरबेस संसाधन या संसाधनों के समूह के लिए अपनी सेटिंग्स परिभाषित करें।

ऊपर दिए गए उदाहरणों को जारी रखते हुए, जहां आपके फायरबेस प्रोजेक्ट में दो होस्टिंग साइटें और तीन क्लाउड स्टोरेज बकेट हैं (जो समान सुरक्षा नियम साझा करते हैं), आपकी firebase.json फ़ाइल इस तरह दिखेगी:

{
  "hosting": [ {
      "target": "blog",  // "blog" is the applied TARGET_NAME for the Hosting site "myapp-blog"
      "public": "blog/dist",  // contents of this folder are deployed to the site "myapp-blog"

      // ...
    },
    {
      "target": "app",  // "app" is the applied TARGET_NAME for the Hosting site "myapp-app"
      "public": "app/dist",  // contents of this folder are deployed to the site "myapp-app"

      // ...

      "rewrites": [...]  // You can define specific Hosting configurations for each site
    }
  ]
}

{
  "storage": [ {
      "target": "main",  // "main" is the applied TARGET_NAME for the group of Cloud Storage buckets
      "rules": "storage.main.rules"  // the file that contains the shared security rules
    }
  ]
}

यदि आपके पास अपने संसाधनों के लिए एकाधिक कॉन्फ़िगरेशन हैं, तो आप एकाधिक परिनियोजन लक्ष्य बना सकते हैं और प्रत्येक को firebase.json फ़ाइल में निर्दिष्ट कर सकते हैं। जब आप firebase deploy चलाएंगे तो सभी संबद्ध संसाधन एक साथ तैनात किए जाएंगे।

तैनाती लक्ष्य प्रबंधित करें

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

आज्ञा विवरण
firebase target आपकी वर्तमान परियोजना निर्देशिका के लिए तैनाती लक्ष्यों को सूचीबद्ध करता है
firebase target:remove \
TYPE RESOURCE_IDENTIFIER
किसी संसाधन को उस लक्ष्य से हटा देता है जिसे वह सौंपा गया है
firebase target:clear \
TYPE TARGET_NAME
निर्दिष्ट लक्ष्य से सभी संसाधनों या होस्टिंग साइट को हटा देता है

target:remove और target:clear आदेश स्वचालित रूप से आपके प्रोजेक्ट निर्देशिका में .firebaserc फ़ाइल में तैनात लक्ष्य सेटिंग्स को अपडेट करते हैं।

तैनाती से पहले स्थानीय स्तर पर परीक्षण करें

अपनी प्रोजेक्ट निर्देशिका के रूट से निम्न में से कोई भी आदेश चलाएँ।

आज्ञा विवरण
firebase emulators:start आपकी प्रोजेक्ट निर्देशिका में सभी कॉन्फ़िगर किए गए संसाधनों का अनुकरण करता है
firebase emulators:start \
--only hosting: TARGET_NAME
केवल निर्दिष्ट होस्टिंग साइट की होस्टिंग सामग्री और कॉन्फ़िगरेशन का अनुकरण करता है
firebase emulators:start \
--only storage: TARGET_NAME
निर्दिष्ट क्लाउड स्टोरेज लक्ष्य के लिए केवल नियम फ़ाइल का अनुकरण करता है
firebase emulators:start \
--only database: TARGET_NAME
निर्दिष्ट रीयलटाइम डेटाबेस लक्ष्य के लिए केवल नियम फ़ाइल का अनुकरण करता है

फायरबेस लोकल एमुलेटर सुइट को कॉन्फ़िगर करने और उपयोग करने के बारे में और जानें।

विशिष्ट फायरबेस संसाधन तैनात करें

अपनी प्रोजेक्ट निर्देशिका के रूट से निम्न में से कोई भी आदेश चलाएँ।

आज्ञा विवरण
firebase deploy आपकी प्रोजेक्ट निर्देशिका में सभी परिनियोजन योग्य संसाधनों की एक रिलीज़ बनाता है
firebase deploy \
--only hosting: TARGET_NAME
साइट के लिए लाइव चैनल पर निर्दिष्ट होस्टिंग साइट की केवल होस्टिंग सामग्री और कॉन्फ़िगरेशन को तैनात करता है
firebase hosting:channel:deploy CHANNEL_ID \
--only TARGET_NAME
साइट के पूर्वावलोकन चैनल पर निर्दिष्ट होस्टिंग साइट की केवल होस्टिंग सामग्री और कॉन्फ़िगरेशन को तैनात करता है
firebase deploy \
--only storage: TARGET_NAME
निर्दिष्ट क्लाउड स्टोरेज लक्ष्य के लिए केवल नियम फ़ाइल तैनात करता है
firebase deploy \
--only database: TARGET_NAME
निर्दिष्ट रीयलटाइम डेटाबेस लक्ष्य के लिए केवल नियम फ़ाइल तैनात करता है