App Hosting, बैकग्राउंड में होने वाले टास्क की जटिल सीरीज़ को मैनेज करता है, ताकि आपके ऐप्लिकेशन को डिप्लॉय करना आसान हो. इस पेज पर, टास्क फ़्लो के मुख्य हिस्सों के बारे में बताया गया है. साथ ही, उन पॉइंट के बारे में जानकारी दी गई है जहां आपको अपने ऐप्लिकेशन की ज़रूरतों के हिसाब से फ़्लो को पसंद के मुताबिक बनाना पड़ सकता है.
Google Cloud और App Hosting आर्किटेक्चर
App Hosting, Google Cloud के प्रॉडक्ट के एक सेट को ऑर्केस्ट्रेट करता है, ताकि आप अपने वेब ऐप्लिकेशन को डिप्लॉय, दिखाएं, और उसका मॉनिटर कर सकें. ऐप्लिकेशन, Cloud Build की मदद से बनाए जाते हैं, Cloud Run पर दिखाए जाते हैं, और Cloud सीडीएन में कैश मेमोरी में सेव किए जाते हैं. Cloud Secret Manager जैसी इंटिग्रेट की गई सेवाएं, आपकी एपीआई कुंजियों को सुरक्षित रखती हैं.

- जब आपकी लाइव शाखा में कोई कमिट पुश की जाती है, तो Google Cloud Developer Connect, Firebase App Hosting को एक इवेंट भेजता है.
- इस इवेंट का जवाब देते हुए, Firebase App Hosting, रिपॉज़िटरी से जुड़े हर बैकएंड के लिए नया रोल आउट शुरू करता है.
- Firebase App Hosting आपके कमिट के लिए एक नया Cloud Build बिल्ड बनाता है. इस जॉब में, Google Cloud के बिल्डपैक यह तय करते हैं कि आपके ऐप्लिकेशन में कौनसा फ़्रेमवर्क इस्तेमाल किया जा रहा है, ताकि आपके ऐप्लिकेशन के हिसाब से कंटेनर और कॉन्फ़िगरेशन (इसमें एनवायरमेंट वैरिएबल, सीक्रेट, कम से कम या ज़्यादा से ज़्यादा इंस्टेंस, एक साथ कई काम करने की सुविधा वाली मेमोरी, सीपीयू, और वीपीसी कॉन्फ़िगरेशन शामिल हैं) बनाया जा सके.
- Cloud Build जॉब पूरी होने के बाद, आपका कंटेनर Firebase App Hosting के लिए बने Artifact Registry रिपॉज़िटरी में सेव हो जाता है. Firebase App Hosting इसके बाद, आपकी इमेज और कॉन्फ़िगरेशन का इस्तेमाल करके, Cloud Run सेवा में नया Cloud Run बदलाव जोड़ता है. Cloud Run के बदलाव की पुष्टि हो जाने के बाद, Firebase App Hosting अपने ट्रैफ़िक कॉन्फ़िगरेशन में बदलाव करता है, ताकि सभी नए अनुरोध आपके नए Cloud Run वर्शन पर भेजे जा सकें. इस बिंदु पर, रोल आउट की प्रोसेस पूरी हो जाती है.
- जब Firebase App Hosting पर होस्ट की गई किसी वेबसाइट को अनुरोध भेजा जाता है, तो उसे Google Cloud लोड बैलेंसर से भेजा जाता है. साथ ही, Cloud CDN की सुविधा चालू होती है. कैश मेमोरी में सेव नहीं किए गए अनुरोध, आपकी Cloud Run सेवा पर भेजे जाते हैं.
फ़्रेमवर्क इंटिग्रेशन
App Hosting, इन फ़्रेमवर्क में डेवलप किए गए वेब ऐप्लिकेशन के लिए, पहले से कॉन्फ़िगर किए गए बिल्ड और डिप्लॉय की सुविधा देता है:
- Next.js 13.5.x और उसके बाद के वर्शन
- Angular 18.2.x और इसके बाद के वर्शन
अलग-अलग वर्शन और सहायता के लेवल के बारे में जानकारी पाने के लिए, सहायता के शेड्यूल देखें.
Next.js और Angular के अलावा, App Hosting किसी भी ऐसे वेब फ़्रेमवर्क के साथ काम करता है जो हमारे आउटपुट बंडल स्पेसिफ़िकेशन से मैच करने वाला बिल्ड आउटपुट दे सकता है. App Hosting के साथ काम करने वाले फ़्रेमवर्क, फ़्रेमवर्क अडैप्टर, और उससे जुड़े टूल के बारे में ज़्यादा जानने के लिए, App Hosting के लिए फ़्रेमवर्क और टूल देखें.
App Hosting रिपॉज़िटरी इंटिग्रेशन कैसे काम करता है
आपके GitHub रिपॉज़िटरी और App Hosting के बैकएंड के बीच के अहम कनेक्शन को Developer Connect मैनेज करता है. यह Google Cloud का कनेक्टिविटी प्लैटफ़ॉर्म है, जो बाहरी DevOps टूल के लिए उपलब्ध है. App Hosting बैकएंड बनाते समय, Developer Connect के यूज़र इंटरफ़ेस (यूआई) वर्कफ़्लो की मदद से, Firebase GitHub ऐप्लिकेशन को इंस्टॉल किया जा सकता है. इस प्रोसेस के मुख्य चरण ये हैं:
- आपने Developer Connect को Secret Manager एडमिन की भूमिका दी है. इससे सिस्टम, Cloud Secret Manager में क्रेडेंशियल को "सीक्रेट" के तौर पर सुरक्षित तरीके से सेव कर पाता है.
- Firebase GitHub ऐप्लिकेशन को अपनी GitHub रिपॉज़िटरी ऐक्सेस करने की अनुमति दी जाती है.
- Developer Connect, आपके प्रोजेक्ट के Secret Manager रिपॉज़िटरी में, GitHub से जुड़ा खास अनुमति टोकन सेव करता है. इस टोकन में बदलाव न करें या उसे मिटाएं नहीं.
साथ ही, App Hosting, रोल आउट की जांच करने के लिए, GitHub checks API के साथ इंटिग्रेट होता है. इस जांच की मदद से, GitHub में रोल आउट का स्टेटस देखा जा सकता है. साथ ही, किसी भी गड़बड़ी के मामले में डिप्लॉयमेंट की प्रोसेस को डीबग किया जा सकता है.
Firebase और Google की अन्य सेवाओं के साथ इंटिग्रेशन
App Hosting, आपके बिल्ड और रनटाइम, दोनों एनवायरमेंट सेट अप करता है, ताकि आप Google के डिफ़ॉल्ट क्रेडेंशियल की मदद से, Firebase Admin SDK टूल को शुरू कर सकें. इस तरह, आपका बैकएंड, बिल्ड और रन टाइम, दोनों पर Firebase के अन्य प्रॉडक्ट के साथ कम्यूनिकेट कर सकता है. अपने ऐप्लिकेशन को शुरू करने और Firebase SDK टूल से जुड़े अन्य विषयों के बारे में ज़्यादा जानने के लिए, अपने वेब ऐप्लिकेशन में Firebase SDK टूल इंटिग्रेट करना लेख पढ़ें.
App Hosting जगहें
App Hosting आपके बैकएंड संसाधनों को किसी खास जगह पर बनाता है. इसे आपका प्राइमरी क्षेत्र कहा जाता है. App Hosting, तेज़ डिलीवरी के लिए ग्लोबल सीडीएन के साथ इंटिग्रेट होता है. हालांकि, कैश मेमोरी में सेव नहीं किया गया कॉन्टेंट, आपके ऐप्लिकेशन के प्राइमरी क्षेत्र से दिखाया जाता है. अपने वेब ऐप्लिकेशन की जगह को बदलने की सुविधा के ये मुख्य फ़ायदे हैं:
- डेटा को उपयोगकर्ताओं के भौगोलिक तौर पर ज़्यादा करीब लाकर, परफ़ॉर्मेंस को बेहतर बनाया जा सकता है और इंतज़ार का समय कम किया जा सकता है.
- किसी एक इलाके में App Hosting के काम न करने से, दूसरे इलाकों में डिप्लॉय किए गए वेब ऐप्लिकेशन पर कोई असर नहीं पड़ेगा.
कंसोल या Firebase सीएलआई से App Hosting बैकएंड बनाते समय, इनमें से किसी भी क्षेत्र को चुना जा सकता है:
us-central1
(आयोवा)asia-east1
(ताइवान)europe-west4
(नीदरलैंड्स)
App Hosting बैकएंड सेवा खाता
बिल्ड और रनटाइम के दौरान, आपका App Hosting बैकएंड, सेवा खाते की मदद से Google की अन्य सेवाओं की पुष्टि करता है. इन कामों के लिए, डिफ़ॉल्ट सेवा खाता तब बनाया जाता है, जब Firebase प्रोजेक्ट में App Hosting को पहली बार चालू किया जाता है:
firebase-app-hosting-compute@PROJECT ID.iam.gserviceaccount.com
यह सेवा खाता डिफ़ॉल्ट रूप से सभी बैकएंड पर लागू होता है. साथ ही, इसमें कम से कम अनुमतियां होती हैं, ताकि आप अपने ऐप्लिकेशन को बनाएं, चलाएं, और उसका निगरानी कर सकें. इसमें Cloud Firestore से डेटा लोड करने जैसे काम करने के लिए, ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल की मदद से एडमिन एसडीके की पुष्टि करने की अनुमति भी होती है. Firebase App Hosting की भूमिकाएं देखें.
अगर आपके ऐप्लिकेशन को बिल्ड के समय या चल रहे बैकएंड से, Google की अन्य सेवाओं के साथ इंटरैक्ट करना है, तो भूमिकाएं जोड़कर डिफ़ॉल्ट सेवा खाते को पसंद के मुताबिक बनाया जा सकता है. उदाहरण के लिए, अगर आपके ऐप्लिकेशन को Vertex AI की अनुमतियां चाहिए, तो आपको roles/aiplatform.user
या उससे जुड़ी कोई भूमिका जोड़नी पड़ सकती है.
मुख्य शब्द और परिभाषाएं
- बैकएंड: मैनेज किए जा रहे संसाधनों का कलेक्शन, जिसे App Hosting आपके वेब ऐप्लिकेशन को बनाने और चलाने के लिए बनाया जाता है.
- रोल आउट: आपके लाइव ऐप्लिकेशन का कोई खास वर्शन, जो किसी Git कमिट से जुड़ा हो.
- लाइव ब्रांच: यह आपके GitHub रिपॉज़िटरी की वह ब्रांच होती है जिसे आपके लाइव यूआरएल पर डिप्लॉय किया जाता है. आम तौर पर, यह वह शाखा होती है जिसमें सुविधा वाली शाखाएं या डेवलपमेंट शाखाएं मर्ज की जाती हैं.