App Hosting, बैकग्राउंड में होने वाले कई मुश्किल कामों को आसान बना देता है, ताकि आपके ऐप्लिकेशन का डिप्लॉयमेंट. इस पेज पर उस टास्क फ़्लो के अहम हिस्सों की जानकारी दी गई है, उन पॉइंट के बारे में जानकारी देना जहां आप फ़्लो को अपनी पसंद के मुताबिक बनाना चाहते हैं पर निर्भर करता है.
फ़्रेमवर्क से जुड़ी सहायता
App Hosting से वेब ऐप्लिकेशन के लिए, बिल्ड और डिप्लॉयमेंट की सुविधा मिलती है. हालांकि, इसके लिए कॉन्फ़िगरेशन की ज़रूरत नहीं होती इन फ़्रेमवर्क के हिसाब से बनाया गया है:
- Next.js 13 और उसके बाद के वर्शन
- ऐंग्युलर 17.2+
App Hosting
आपकी डेटा स्टोर करने की जगह में package-lock.json
फ़ाइल या अन्य लॉक फ़ाइल. अगर आपको
ऐसा Node.js ऐप्लिकेशन डिप्लॉय करें जिसमें लॉक फ़ाइल मौजूद नहीं है, तो App Hosting
अपना ऐप्लिकेशन बनाना और चलाना. अपनी रूट डायरेक्ट्री में npm
install
चलाकर, package-lock.json
बनाया जा सकता है.
App Hosting फ़्रेमवर्क अडैप्टर के दो मुख्य काम होते हैं:
- वे आपके सोर्स कोड और किसी खास फ़्रेमवर्क के लिए कॉन्फ़िगर की गई फ़ाइलों (जैसे कि
next.config.js
) आपके ऐप्लिकेशन के कॉन्फ़िगर किए गए व्यवहार को समझने के लिए. - ये स्टैटिक ऐसेट जनरेट करने और जिसे प्रोडक्शन के लिए आपके ऐप्लिकेशन का ऑप्टिमाइज़ किया गया वर्शन हो.
फ़्रेमवर्क अडैप्टर, npm run build
की मदद से आपका Node.js ऐप्लिकेशन बनाता है. यह बेहतर तरीके से काम करता है
हर फ़्रेमवर्क के लिए डिफ़ॉल्ट बिल्ड स्क्रिप्ट के साथ: Next.js के लिए next build
और
Angular के लिए ng build
. App Hosting, कस्टम बिल्ड की मदद से बिल्ड करने की कोशिश करेगा
कमांड देता है, लेकिन सफलता की गारंटी नहीं दे सकता.
App Hosting रिपॉज़िटरी इंटिग्रेशन के काम करने का तरीका
आपकी GitHub रिपॉज़िटरी और App Hosting के बीच का अहम कनेक्शन बैकएंड को यह कंपनी मैनेज करती है डेवलपर कनेक्ट, Google Cloud का कनेक्टिविटी प्लैटफ़ॉर्म बाहरी DevOps टूल के लिए उपलब्ध है. App Hosting बैकएंड बनाने के दौरान, Developer Connect का यूज़र इंटरफ़ेस (यूआई) वर्कफ़्लो, Firebase GitHub ऐप्लिकेशन. इस प्रोसेस में ये मुख्य चरण हैं:
- आपने डेवलपर कनेक्ट को सीक्रेट मैनेजर एडमिन भूमिका. इससे सिस्टम, क्रेडेंशियल को "सीक्रेट" के तौर पर सुरक्षित तरीके से सेव करता है इंच Cloud Secret Manager.
- आपने Firebase GitHub ऐप्लिकेशन को GitHub को ऐक्सेस करने की अनुमति दी है डेटा स्टोर करने की जगह के लिए.
- Developer Connect, GitHub में अनुमति देने वाला टोकन सेव करता है प्रोजेक्ट के सीक्रेट मैनेजर डेटा स्टोर करने की जगह; इस टोकन को न तो बदलें और न ही मिटाएं.
इसके अलावा, App Hosting, GitHub की जांच करने वाले एपीआई के साथ इंटिग्रेट करता है, ताकि रोल आउट की जांच करें. इस जांच से, आपको GitHub पर जाएं और किसी भी तरह की गड़बड़ी होने पर डिप्लॉयमेंट की प्रोसेस को डीबग करें.
Firebase और Google की अन्य सेवाओं के साथ इंटिग्रेशन
App Hosting आपके बिल्ड और रनटाइम, दोनों एनवायरमेंट को सेट अप करता है, ताकि आप ये काम कर सकें Google की मदद से, Firebase एडमिन SDK टूल को शुरू करें ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल. इस तरह, आपका बैकएंड एक-दूसरे से के साथ-साथ अन्य Firebase प्रॉडक्ट के साथ काम करता है.
App Hosting बैकएंड सेवा खाता
बिल्ड के दौरान और रनटाइम के दौरान, आपका App Hosting बैकएंड इससे पुष्टि करता है: सेवा खाते से Google की अन्य सेवाएं. के लिए एक डिफ़ॉल्ट सेवा खाता ये मकसद तब बनाए जाते हैं, जब पहली बार App Hosting को चालू किया जाता है Firebase प्रोजेक्ट:
firebase-app-hosting-compute@PROJECT ID.iam.gserviceaccount.com
यह सेवा खाता डिफ़ॉल्ट रूप से सभी बैकएंड पर लागू होता है. साथ ही, इसमें कम से कम अनुमतियां दी हैं, ताकि आप अपना ऐप्लिकेशन बना सकें, चला सकें, और उसे मॉनिटर कर सकें. इसमें यह भी है इसकी अनुमति एडमिन SDK को ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल की मदद से प्रमाणित करें. Cloud Firestore से डेटा लोड करने जैसे काम करती है. यहां जाएं: Firebase App Hosting की भूमिकाएं.
अगर आपके ऐप्लिकेशन को बिल्ड के दौरान, Google की अतिरिक्त सेवाओं से इंटरैक्ट करने की ज़रूरत हो
समय या चल रहे बैकएंड से, तो आप डिफ़ॉल्ट सेवा खाते को
भूमिकाएं जोड़ना. उदाहरण के लिए, अगर आपके ऐप्लिकेशन को Vertex AI की अनुमतियों की ज़रूरत है, तो
इन्हें जोड़ने की ज़रूरत पड़ सकती है
roles/aiplatform.user
या संबंधित भूमिका में हैं.
मुख्य शब्द और परिभाषाएं
- बैकएंड: मैनेज किए जा रहे संसाधनों का कलेक्शन, जो App Hosting आपके वेब ऐप्लिकेशन को बनाने और चलाने के लिए बनाता है.
- रोलआउट: आपके लाइव ऐप्लिकेशन का खास वर्शन, जो git कमिट से जुड़ा होता है.
- लाइव ब्रांच: GitHub रिपॉज़िटरी की वह ब्रांच जिसे इन कामों के लिए डिप्लॉय किया जाता है आपके लाइव यूआरएल को ब्लॉक कर सकता है. अक्सर, यह वह शाखा होती है जिसमें शाखाएं होती हैं या डेवलपमेंट ब्रांच मर्ज कर दी गई हों.
पहले से मालूम समस्याएं और सीमाएं
App Hosting की झलक में कुछ सीमाएं हैं जिनके बारे में पता है:
- बैकएंड मिटाने की सुविधा काम नहीं कर रही.
- इमेज ऑप्टिमाइज़ेशन की सुविधा अभी उपलब्ध नहीं है.
- कुछ मामलों में, App Hosting बैकएंड दिख सकता है
आपके ऐप्लिकेशन के यूआरएल पर
Intermittent connection error
मैसेज. समस्या ठीक करने से बाद में उपलब्ध कराई जाएगी. - कैश-कंट्रोल हेडर में बदलाव किया जाता है, ताकि सीडीएन कैश मेमोरी को 60 सेकंड तक सीमित किया जा सके; में आने वाले समय में, जब App Hosting कैश मेमोरी को तुरंत पूरी तरह से मिटाने की सुविधा चालू कर देगा लागू करने पर, यह सीमा हटा दी जाएगी.
- सेट-कुकी हेडर को App Hosting डेटाप्लेन. समस्या का हल, बाद में उपलब्ध होने वाले वर्शन में उपलब्ध होगा.
- कैश नहीं की गई स्टैटिक फ़ाइलें Cloud Run से बाहर की जाती हैं; में बाद में, इन्हें App Hosting ऑरिजिन से सेव किया जाएगा और वहीं से दिखाया जाएगा का इस्तेमाल किया जा सकता है.
- ऐसा हो सकता है कि App Hosting SKU, बैकएंड के इस्तेमाल की जानकारी वाले पेज पर न दिखें Firebase कंसोल. ये प्रॉडक्ट, बाद में रिलीज़ होने वाले वर्शन में उपलब्ध होंगे.
- Firebase कंसोल रुक-रुककर यह दिखा सकता है कि "बिल्ड नहीं मिला और अमान्य है" बैकएंड बनाने में गड़बड़ी हुई.
- फ़िलहाल, एक ही प्रोजेक्ट में सभी बैकएंड, GitHub संगठन/खाता शेयर करते हैं. उन्हें उस संगठन/खाते के तहत अलग-अलग डेटा स्टोर करने की जगहों से कनेक्ट किया जा सकता है. अलग-अलग GitHub खातों से कनेक्ट किए गए बैकएंड बनाने के लिए, उन्हें अलग-अलग प्रोजेक्ट में रखा जा सकता है.
- फ़िलहाल, यह सुविधा सिर्फ़
us-central1
इलाके में उपलब्ध है. - Next.js मिडलवेयर, रीराइट, और रीडायरेक्ट को Cloud Run, सीडीएन के पीछे. क्योंकि इन तरीकों से कैश मेमोरी में सेव किया गया डेटा सुरक्षित नहीं होता तो पक्का करें कि कंट्रोल के लिए सही डायरेक्टिव के लिए सबसे अच्छा है.