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

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

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

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

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

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

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

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

डेटा इकट्ठा करने का चरण

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

स्टेज बनाना

यह बिल्ड प्रोसेस का मुख्य हिस्सा है. इसकी मदद से, चलाने लायक कंटेनर इमेज और bundle.yaml फ़ाइल जनरेट की जाती है. इस फ़ाइल में, बिल्ड कॉन्फ़िगरेशन के बारे में जानकारी होती है. यह ऐप्लिकेशन को बेहतर तरीके से पैकेज करने के लिए, Cloud Native Buildpacks का इस्तेमाल करता है. 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 को बनाने की पूरी प्रोसेस ओपन सोर्स है.