कोड बेस से कई एनवायरमेंट डिप्लॉय करें

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

एनवायरमेंट के बारे में ज़्यादा जानने के लिए, एनवायरमेंट की खास जानकारी और Firebase प्रोजेक्ट सेट अप करने के सबसे सही तरीके देखें.

ज़रूरी शर्तें

पहला चरण: अपना प्रोडक्शन गिट ब्रांच सेट अप करना

अगर आपको अपनी main ब्रांच से, प्रोडक्शन एनवायरमेंट को डिप्लॉय करना है, तो अगले चरण पर जाएं. जैसे, अगर आपको किसी अन्य ब्रांच से प्रोडक्शन का डिप्लॉयमेंट करना है, production, आपको पहले इसे GitHub पर बनाना होगा.

GitHub यूज़र इंटरफ़ेस (यूआई) के साथ अपनी प्रोडक्शन ब्रांच बनाने के लिए, अपने डेटा स्टोर करने की जगह में ब्रांच बनाना और मिटाना देखें.

स्थानीय तौर पर प्रोडक्शन ब्रांच बनाने के लिए:

$ git checkout -b production
$ git push origin production:production

पहला चरण: अपने प्रोडक्शन apphosting.yaml को कॉन्फ़िगर करें

मान लें कि आपको यह पक्का करना है कि आपके प्रोडक्शन में हमेशा कम से कम एक मशीन चालू रहे और उसमें कुछ प्रोडक्शन खास एनवायरमेंट वैरिएबल शामिल हों. इसे कॉन्फ़िगर करने के लिए, अपने प्रोजेक्ट के रूट में apphosting.yaml फ़ाइल बनाएं. फ़ाइल में यह शामिल होगा:

# Saved at <repository root>/apphosting.yaml

runConfig:
  minInstances: 1

env:
  - variable: STORAGE_BUCKET
    value: <production Cloud Storage bucket name>

काम करने वाली सेटिंग की पूरी सूची देखने के लिए, ऐप्लिकेशन होस्टिंग कॉन्फ़िगर करें देखें.

apphosting.yaml में बदलाव करने के बाद, इसे अपने GitHub डेटा स्टोर करने की जगह में भेजें:

$ git add apphosting.yaml
$ git commit -m "Added production App Hosting backend configuration."
$ git push origin

दूसरा चरण: अपने कोड बेस को प्रोडक्शन में डिप्लॉय करें

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

'Firebase कंसोल' की मदद से नया बैकएंड बनाने के लिए, https://console.firebase.google.com/project/_/apphosting पर जाएं.

इसे स्थानीय तौर पर बनाने के लिए, आपको सबसे पहले Firebase सीएलआई इंस्टॉल करना होगा और फिर इसे चलाना होगा:

firebase apphosting:backends:create --project <replace with your PRODUCTION project ID>

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

तीसरा चरण: अपना स्टेजिंग गिट ब्रांच सेट अप करना

GitHub पर अपनी स्टेजिंग ब्रांच बनाने के लिए, ऊपर दिया गया तरीका अपनाएं:

$ git checkout -b staging
$ git push origin staging:staging

चौथा चरण: स्टेजिंग apphosting.yaml को कॉन्फ़िगर करना

आपकी स्टेजिंग ब्रांच में, आपके प्रोडक्शन apphosting.yaml की एक कॉपी पहले से होनी चाहिए. आइए इसमें बदलाव करते हैं, ताकि जब ऐप्लिकेशन का इस्तेमाल न किया जा रहा हो, तब ऐप्लिकेशन होस्टिंग सिस्टम आपके स्टेजिंग एनवायरमेंट को बंद कर दे. साथ ही, STORAGE_BUCKET एनवायरमेंट वैरिएबल के लिए कोई अलग वैल्यू भी सेट करे.

# Saved at <repository root>/apphosting.yaml

runConfig:
  minInstances: 0

env:
  - variable: STORAGE_BUCKET
    value: <some other staging Cloud Storage bucket name>

बदलाव करने के बाद, फ़ाइल को स्टेजिंग गिट ब्रांच में पुश करें:

$ git add apphosting.yaml
$ git commit -m "Added staging App Hosting backend configuration."
$ git push origin

पांचवां चरण: स्टेजिंग के लिए अपना कोडबेस डिप्लॉय करना

आपकी स्टेजिंग git ब्रांच कॉन्फ़िगर हो जाने के बाद, स्टेजिंग में अपने कोड बेस को डिप्लॉय करने के लिए, ऊपर दिया गया तरीका अपनाया जा सकता है:

firebase apphosting:backends:create --project <replace with your STAGING project ID>

इस चरण को पूरा करने के बाद, आपके पास एक ही कोड बेस से चलने वाले दो ऐप्लिकेशन होस्टिंग बैकएंड होंगे. इनमें से एक बैकएंड के लिए होगा और दूसरा स्टेजिंग के लिए. हर बैकएंड, अलग-अलग Firebase प्रोजेक्ट में होगा.

अगले चरण