App Hosting की बिल्ड प्रोसेस

Firebase App Hosting, आपके ऐप्लिकेशन के सोर्स कोड को Cloud Build पर डिप्लॉय करने के लिए, उसे कंटेनर वाले फ़ॉर्मैट में बदलने के लिए इस्तेमाल करता है.Cloud Run

बिल्ड करने की प्रोसेस इन चरणों में पूरी होती है:

  1. डेटा डालना: आपके ऐप्लिकेशन का सोर्स कोड और कॉन्फ़िगरेशन इकट्ठा करता है.

  2. बिल्ड करें: यह डिपेंडेंसी इंस्टॉल करता है और आपका ऐप्लिकेशन बनाता है.

  3. हैंडऑफ़: प्रोडक्शन Cloud Run कंटेनर को फ़ाइनल करता है.

ये तीन चरण, Google Cloud Console में Cloud Build में दिखाए गए पहले, दूसरे, और तीसरे चरण से सीधे तौर पर जुड़े हैं:

Google Cloud Console में, Cloud Build के चरणों को दिखाने वाले व्यू का स्क्रीन कैप्चर

डेटा डालने का चरण

इस चरण में, पहले से बने लॉजिक को मैनेज किया जाता है. यह उपयोगकर्ता के तय किए गए एनवायरमेंट वैरिएबल को पढ़ता है, उन्हें साफ़ करता है, और लिखता है. यह apphosting.yaml फ़ाइल में बताई गई किसी भी गुप्त जानकारी का रेफ़रंस हटा देता है और उसे पिन कर देता है.

बिल्ड स्टेज

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

आपके ऐप्लिकेशन के सोर्स कोड को प्रोडक्शन के लिए तैयार कंटेनर इमेज में बदलने की ज़िम्मेदारी, बिल्डपैक की होती है. Firebase App Hosting कई बिल्डपैक को एक साथ जोड़कर, बिल्ड करने की प्रोसेस पूरी करता है:

  1. रनटाइम बिल्डपैक: यह पक्का करता है कि बुनियादी Node.js ऐप्लिकेशन को चलाने के लिए सभी ज़रूरी कॉम्पोनेंट शामिल हों और डिपेंडेंसी इंस्टॉल की गई हों.
  2. Monorepo Buildpack: अलग-अलग Monorepo स्थितियों को मैनेज करने के लिए, बाद के बिल्डपैक को कॉन्फ़िगर करता है.
  3. फ़्रेमवर्क बिल्डपैक: यह सही फ़्रेमवर्क अडैप्टर (जैसे, Angular या Next.js) इंस्टॉल करता है और बाद के बिल्डपैक तैयार करता है.

    फ़्रेमवर्क अडैप्टर, प्रोडक्शन में इस्तेमाल होने वाले बिल्ड कमांड को चलाने और फ़्रेमवर्क के हिसाब से काम की कॉन्फ़िगरेशन वैल्यू को App Hosting के पढ़ने लायक स्टैंडर्ड फ़ॉर्मैट में मैप करने के लिए ज़िम्मेदार होते हैं.

  4. Package Manager Buildpack: यह डिपेंडेंसी इंस्टॉल करता है और npm, yarn या pnpm का इस्तेमाल करके ऐप्लिकेशन बनाता है.

  5. आउटपुट बंडल बिल्डपैक: यह रन करने का निर्देश तय करता है और आउटपुट बंडल को लागू करने के लिए तैयार करता है.

हैंडऑफ़ स्टेज

इस आखिरी चरण में, ऐप्लिकेशन के सोर्स कोड और बिल्ड कंटेनर इमेज से निकाली गई सारी जानकारी को पैकेज किया जाता है. साथ ही, इसे App Hosting बैकएंड पर भेजा जाता है. इसके बाद, App Hosting बैकएंड इस जानकारी का इस्तेमाल करके, सही कॉन्फ़िगरेशन के साथ Cloud Run को सेट अप करता है.

ज़्यादा जानें

App Hosting की पूरी बिल्ड प्रोसेस ओपन सोर्स है.