Firebase App Hosting, आपके ऐप्लिकेशन के सोर्स कोड को Cloud Build पर डिप्लॉय करने के लिए, Cloud Build का इस्तेमाल करके उसे कंटेनर वाले फ़ॉर्मैट में बदलता है.Cloud Run
बिल्ड करने की प्रोसेस इन चरणों में पूरी होती है:
डेटा डालना: आपके ऐप्लिकेशन का सोर्स कोड और कॉन्फ़िगरेशन इकट्ठा करता है.
बिल्ड करें: यह डिपेंडेंसी इंस्टॉल करता है और आपका ऐप्लिकेशन बनाता है.
हैंडऑफ़: प्रोडक्शन Cloud Run कंटेनर को फ़ाइनल करता है.
ये तीन चरण, Google Cloud Console में Cloud Build में दिखाए गए पहले, दूसरे, और तीसरे चरण से सीधे तौर पर जुड़े हैं:
डेटा डालने का चरण
इस चरण में, पहले से बने लॉजिक को मैनेज किया जाता है. यह उपयोगकर्ता के तय किए गए एनवायरमेंट वेरिएबल को पढ़ता है, उन्हें साफ़ करता है, और लिखता है. यह apphosting.yaml
फ़ाइल में बताई गई किसी भी गुप्त जानकारी का रेफ़रंस हटा देता है और उसे पिन कर देता है.
बिल्ड स्टेज
यह बिल्ड प्रोसेस का मुख्य हिस्सा है. यह, चलने लायक कंटेनर इमेज और आपके बिल्ड कॉन्फ़िगरेशन की जानकारी देने वाली bundle.yaml
फ़ाइल जनरेट करता है.
यह ऐप्लिकेशन को बेहतर तरीके से पैकेज करने के लिए, क्लाउड नेटिव बिल्डपैक का इस्तेमाल करता है. bundle.yaml
फ़ाइल के बारे में ज़्यादा जानकारी, GitHub पर मिल सकती है.
आपके ऐप्लिकेशन के सोर्स कोड को प्रोडक्शन के लिए तैयार कंटेनर इमेज में बदलने की ज़िम्मेदारी, बिल्डपैक की होती है. Firebase App Hosting, कई बिल्डपैक को एक साथ जोड़कर, बिल्ड करने की प्रोसेस पूरी करता है:
- रनटाइम बिल्डपैक: यह पक्का करता है कि बुनियादी Node.js ऐप्लिकेशन को चलाने के लिए सभी ज़रूरी कॉम्पोनेंट शामिल हों और डिपेंडेंसी इंस्टॉल की गई हों.
- Monorepo Buildpack: अलग-अलग Monorepo स्थितियों को मैनेज करने के लिए, बाद के बिल्डपैक को कॉन्फ़िगर करता है.
फ़्रेमवर्क बिल्डपैक: यह सही फ़्रेमवर्क अडैप्टर (जैसे, Angular या Next.js) इंस्टॉल करता है और बाद के बिल्डपैक तैयार करता है.
फ़्रेमवर्क अडैप्टर, प्रोडक्शन में इस्तेमाल होने वाले बिल्ड कमांड को चलाने और फ़्रेमवर्क के हिसाब से काम की कॉन्फ़िगरेशन वैल्यू को App Hosting के पढ़े जा सकने वाले स्टैंडर्ड फ़ॉर्मैट में मैप करने के लिए ज़िम्मेदार होते हैं.
Package Manager Buildpack: यह डिपेंडेंसी इंस्टॉल करता है और npm, yarn या pnpm का इस्तेमाल करके ऐप्लिकेशन बनाता है.
आउटपुट बंडल बिल्डपैक: यह रन करने का निर्देश तय करता है और आउटपुट बंडल को लागू करने के लिए तैयार करता है.
हैंडऑफ़ स्टेज
इस आखिरी चरण में, ऐप्लिकेशन के सोर्स कोड और बिल्ड कंटेनर इमेज से निकाली गई सारी जानकारी को पैकेज किया जाता है. साथ ही, इसे App Hosting बैकएंड पर भेजा जाता है. इसके बाद, App Hosting बैकएंड इस जानकारी का इस्तेमाल करके, सही कॉन्फ़िगरेशन के साथ Cloud Run को सेट अप करता है.
और जानें
App Hosting की पूरी बिल्ड प्रोसेस ओपन सोर्स है.
- बिल्डपैक कोड, Google Cloud के बिल्डपैक रिपॉज़िटरी में मौजूद है
- फ़्रेमवर्क अडैप्टर का कोड, firebase-framework-tools repo में मौजूद है
- क्लाउड नेटिव बिल्डपैक और Cloud Build के बारे में ज़्यादा जानें