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

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

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

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

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

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

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

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 के लिए, बाद के buildpack को कॉन्फ़िगर करता है.
  3. फ़्रेमवर्क बिल्डपैक: यह सही फ़्रेमवर्क अडैप्टर (जैसे, Angular या Next.js) इंस्टॉल करता है और इसके बाद के बिल्डपैक तैयार करता है.

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

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

  5. आउटपुट बंडल बिल्डपैक: यह रन कमांड तय करता है और एक्ज़ीक्यूशन के लिए आउटपुट बंडल तैयार करता है.

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

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

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

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