Cloud Run को Firebase होस्टिंग के साथ जोड़ें. इससे आपका डाइनैमिक कॉन्टेंट या REST API को माइक्रोसर्विस के तौर पर बनाएं.
Cloud Run का इस्तेमाल करके, आप ये काम कर सकते हैं किसी कंटेनर इमेज में पैकेज किया गया ऐप्लिकेशन डिप्लॉय करें. इसके बाद, Firebase होस्टिंग के ज़रिए, एचटीटीपीएस अनुरोधों को भेजा जा सकता है. कंटेनर बनाया जा सकता है.
- Cloud Run काम करता है कई भाषाएं (इसमें Go, Node.js, Python, और Java शामिल हैं), आपको अपने हिसाब से टूल इस्तेमाल करने की सुविधा देता है और अपनी पसंद की प्रोग्रामिंग भाषा और फ़्रेमवर्क शामिल करें.
- क्लाउड रन अपने-आप और हॉरिज़ॉन्टल तौर पर स्केल करता है आपके कंटेनर की इमेज, मिलने वाले अनुरोधों को मैनेज करने के लिए होनी चाहिए. इसके बाद, जब साइज़ छोटा हो जाए, तब मांग घट जाती है.
- आपको सिर्फ़ सीपीयू के लिए पेमेंट करना होता है, मेमोरी और नेटवर्किंग का इस्तेमाल, अनुरोध हैंडल करने के दौरान किया जाता है.
उदाहरण के लिए, Cloud Run के साथ इंटिग्रेट किए गए इस्तेमाल के उदाहरण और सैंपल Firebase होस्टिंग के बारे में जानने के लिए, हमारी सर्वर के बिना खास जानकारी.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
इस गाइड में आपको ये काम करने का तरीका बताया गया है:
- नमस्ते वर्ल्ड ऐप्लिकेशन पर एक आसान ऐप्लिकेशन लिखें
- ऐप्लिकेशन को कंटेनर बनाना और उसे कंटेनर रजिस्ट्री में अपलोड करना
- कंटेनर इमेज को Cloud Run पर डिप्लॉय करना
- कंटेनर के मुताबिक बनाए गए ऐप्लिकेशन पर सीधे तौर पर होस्टिंग के अनुरोध
ध्यान दें कि डाइनैमिक कॉन्टेंट दिखाने की परफ़ॉर्मेंस को बेहतर बनाने के लिए, वैकल्पिक रूप से अपनी कैश सेटिंग ट्यून करें.
शुरू करने से पहले
Cloud Run का इस्तेमाल करने से पहले, आपको कुछ शुरुआती काम पूरे करने होंगे,
इसमें क्लाउड बिलिंग खाता सेट अप करना और Cloud Run चालू करना शामिल है
एपीआई पर अपग्रेड कर सकते हैं और gcloud
कमांड-लाइन टूल इंस्टॉल कर सकते हैं.
अपने प्रोजेक्ट के लिए बिलिंग सेट अप करना
Cloud Run बिना किसी शुल्क के इस्तेमाल करने का कोटा देता है, लेकिन आपके पास अब भी Cloud बिलिंग खाता Cloud Run का इस्तेमाल करने या उसे आज़माने के लिए, Firebase प्रोजेक्ट से जुड़ा होगा.
एपीआई चालू करना और SDK टूल इंस्टॉल करना
Google API कंसोल में Cloud Run API चालू करें:
खोलें Cloud Run API पेज में जाकर देखें.
जब कहा जाए, तब अपना Firebase प्रोजेक्ट चुनें.
Cloud Run API पेज पर, चालू करें पर क्लिक करें.
Google Ads API को इंस्टॉल और शुरू करना क्लाउड SDK टूल.
देखें कि
gcloud
टूल को सही प्रोजेक्ट के लिए कॉन्फ़िगर किया गया है या नहीं:gcloud config list
पहला चरण: ऐप्लिकेशन का सैंपल लिखें
ध्यान दें कि Cloud Run, कई अन्य भाषाएं .
शुरू करें
helloworld-go
नाम की नई डायरेक्ट्री बनाएं. इसके बाद, डायरेक्ट्री को इसमें बदलें यह:mkdir helloworld-go
cd helloworld-go
helloworld.go
नाम की एक नई फ़ाइल बनाएं, फिर यह कोड जोड़ें:यह कोड एक बेसिक वेब सर्वर बनाता है, जो
PORT
एनवायरमेंट वैरिएबल.
आपका ऐप्लिकेशन तैयार है और कंटेनर बनाया जाने के लिए तैयार है. इसे यहां अपलोड किया जा सकता है कंटेनर रजिस्ट्री.
Node.js
helloworld-nodejs
नाम की नई डायरेक्ट्री बनाएं. इसके बाद, डायरेक्ट्री बदलें उसमें:mkdir helloworld-nodejs
cd helloworld-nodejs
इस कॉन्टेंट वाली
package.json
फ़ाइल बनाएं:index.js
नाम की एक नई फ़ाइल बनाएं, फिर यह कोड जोड़ें:यह कोड एक बेसिक वेब सर्वर बनाता है, जो
PORT
एनवायरमेंट वैरिएबल.
आपका ऐप्लिकेशन तैयार है और कंटेनर बनाया जाने के लिए तैयार है. इसे यहां अपलोड किया जा सकता है कंटेनर रजिस्ट्री.
Python
helloworld-python
नाम की नई डायरेक्ट्री बनाएं. इसके बाद, डायरेक्ट्री बदलें उसमें:mkdir helloworld-python
cd helloworld-python
app.py
नाम की एक नई फ़ाइल बनाएं, फिर यह कोड जोड़ें:यह कोड एक बेसिक वेब सर्वर बनाता है, जो
PORT
एनवायरमेंट वैरिएबल.
आपका ऐप्लिकेशन तैयार है और कंटेनर बनाया जाने के लिए तैयार है. इसे यहां अपलोड किया जा सकता है कंटेनर रजिस्ट्री.
Java
इंस् टॉल करें Java SE 8 या उसके बाद के वर्शन वाला JDK और CURL का इस्तेमाल करें.
ध्यान दें कि हमें ऐसा सिर्फ़ नया वेब प्रोजेक्ट बनाने के लिए करना होगा, अगला चरण. Dockerfile, जिसके बारे में बाद में बताया गया है, सभी पेजों को लोड करेगी कंटेनर में डिपेंडेंसी.
कंसोल से, cURL का इस्तेमाल करके नया खाली वेब प्रोजेक्ट बनाएं और अनज़िप आदेश:
curl https://start.spring.io/starter.zip \ -d dependencies=web \ -d name=helloworld \ -d artifactId=helloworld \ -o helloworld.zip
unzip helloworld.zip
यह एक SpringBoot प्रोजेक्ट बनाता है.
SpringBootApplication
क्लास को अपडेट करेंsrc/main/java/com/example/helloworld/HelloworldApplication.java
के हिसाब से/
मैपिंग को मैनेज करने के लिए, एक@RestController
जोड़ना. साथ ही,TARGET
एनवायरमेंट वैरिएबल देने के लिए@Value
फ़ील्ड:यह कोड एक बेसिक वेब सर्वर बनाता है, जो
PORT
एनवायरमेंट वैरिएबल.
आपका ऐप्लिकेशन तैयार है और कंटेनर बनाया जाने के लिए तैयार है. इसे यहां अपलोड किया जा सकता है कंटेनर रजिस्ट्री.
दूसरा चरण: ऐप्लिकेशन को कंटेनर बनाना और उसे कंटेनर रजिस्ट्री में अपलोड करना
Dockerfile
नाम की एक नई फ़ाइल बनाकर सैंपल ऐप्लिकेशन को कंटेनर में रखें सोर्स फ़ाइलों वाली डायरेक्ट्री. निम्न सामग्री को अपने फ़ाइल से लिए जाते हैं.शुरू करें
Node.js
Python
Java
Cloud Build का इस्तेमाल करके कंटेनर इमेज बनाएं. इसके लिए, ये काम करें कमांड:
gcloud builds submit --tag gcr.io/PROJECT_ID/helloworld
सफल होने के बाद, आपको इमेज के नाम के साथ 'पूरा हुआ' मैसेज दिखेगा
(gcr.io/PROJECT_ID/helloworld
).
कंटेनर इमेज को अब कंटेनर रजिस्ट्री में स्टोर किया गया है. अगर यह इमेज फिर से इस्तेमाल की जा सकती है, तो चाहते हैं.
ध्यान दें कि Cloud Build के बजाय, डिवाइस पर इंस्टॉल किए गए वर्शन का इस्तेमाल किया जा सकता है Docker का इस्तेमाल करें, स्थानीय तौर पर अपना कंटेनर बनाएं.
तीसरा चरण: कंटेनर इमेज को Cloud Run में डिप्लॉय करें
इन कमांड का इस्तेमाल करके डिप्लॉय करें:
gcloud run deploy --image gcr.io/PROJECT_ID/helloworld
जब कहा जाए, तब:
- कोई देश या इलाका चुनें (जैसे कि
us-central1
) - सेवा के नाम की पुष्टि करें (उदाहरण के लिए,
helloworld
) - बिना पुष्टि वाले उन न्योतों को अनुमति देने के लिए
Y
जवाब दें जिनकी पुष्टि नहीं की गई है
- कोई देश या इलाका चुनें (जैसे कि
बेहतर परफ़ॉर्मेंस के लिए, इन क्षेत्रों का इस्तेमाल करके अपनी Cloud Run सेवा को होस्टिंग के साथ कॉन्फ़िगर करें:
us-west1
us-central1
us-east1
europe-west1
asia-east1
होस्टिंग से Cloud Run में बदलाव करने की सुविधा इन इलाकों में:
asia-east1
asia-east2
asia-northeast1
asia-northeast2
asia-northeast3
asia-south1
asia-south2
asia-southeast1
asia-southeast2
australia-southeast1
australia-southeast2
europe-central2
europe-north1
europe-southwest1
europe-west1
europe-west12
europe-west2
europe-west3
europe-west4
europe-west6
europe-west8
europe-west9
me-central1
me-west1
northamerica-northeast1
northamerica-northeast2
southamerica-east1
southamerica-west1
us-central1
us-east1
us-east4
us-east5
us-south1
us-west1
us-west2
us-west3
us-west4
us-west1
us-central1
us-east1
europe-west1
asia-east1
डिप्लॉयमेंट पूरा होने तक कुछ देर इंतज़ार करें. सफलता मिलने पर, कमांड लाइन सेवा का यूआरएल दिखाता है. जैसे:
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया हैhttps://helloworld-RANDOM_HASH-us-central1.a.run.app वेब ब्राउज़र में सेवा यूआरएल खोलकर, अपने डिप्लॉय किए गए कंटेनर पर जाएं.
अगले चरण में आपको इस बारे में जानकारी मिलेगी कि कंटेनर बनाए रखने के लिए बनाए गए इस ऐप्लिकेशन को Firebase होस्टिंग यूआरएल, ताकि यह आपके लिए डाइनैमिक कॉन्टेंट जनरेट कर सके Firebase से होस्ट की गई साइट.
चौथा चरण: कंटेनर के हिसाब से बनाए गए ऐप्लिकेशन पर होस्ट करने के अनुरोध
के साथ फिर से लिखने के नियम, तो आप सीधे अनुरोध भेज सकते हैं जो एक ही डेस्टिनेशन से किसी खास पैटर्न को मैच करती हैं.
नीचे दिए गए उदाहरण में, पेज से सभी अनुरोधों को भेजने का तरीका बताया गया है
/helloworld
आपकी होस्टिंग साइट पर
आपके helloworld
कंटेनर इंस्टेंस.
पक्का करें कि:
आपके पास है Firebase सीएलआई का नया वर्शन.
आपने Firebase होस्टिंग शुरू कर दी है.
सीएलआई इंस्टॉल करने और उसे शुरू करने के बारे में ज़्यादा जानकारी के लिए होस्टिंग के बारे में ज़्यादा जानने के लिए, होस्टिंग के लिए शुरुआती निर्देश.
अपनी
firebase.json
फ़ाइल खोलें.hosting
सेक्शन में,rewrite
का यह कॉन्फ़िगरेशन जोड़ें:"hosting": { // ... // Add the "rewrites" attribute within "hosting" "rewrites": [ { "source": "/helloworld", "run": { "serviceId": "helloworld", // "service name" (from when you deployed the container image) "region": "us-central1", // optional (if omitted, default is us-central1) "pinTag": true // optional (see note below) } } ] }
नीचे दिए गए निर्देशों का पालन करके, अपनी साइट पर होस्टिंग कॉन्फ़िगरेशन का इस्तेमाल करें कमांड:
firebase deploy --only hosting
अब आपके कंटेनर तक इन यूआरएल के ज़रिए पहुंचा जा सकता है:
आपके Firebase सबडोमेन:
PROJECT_ID.web.app/
औरPROJECT_ID.firebaseapp.com/
कनेक्ट किए गए सभी कस्टम डोमेन:
CUSTOM_DOMAIN/
इसके लिए होस्टिंग कॉन्फ़िगरेशन पेज पर जाएं दोबारा लिखने के नियमों के बारे में ज़्यादा जानकारी देखें. आप यह भी जानें कि जवाबों की प्राथमिकता का क्रम का इस्तेमाल किया जा सकता है.
स्थानीय तौर पर टेस्ट करें
डेवलपमेंट के दौरान, अपने कंटेनर की इमेज को स्थानीय तौर पर चलाकर देखा और टेस्ट किया जा सकता है. इसके लिए विस्तृत निर्देशों के लिए, कृपया Cloud Run दस्तावेज़.
अगले चरण
किसी पेज पर अपने डाइनैमिक कॉन्टेंट की कैश मेमोरी में सेव होने की सुविधा सेट अप करने के लिए ग्लोबल सीडीएन.
Firebase की अन्य सेवाओं के साथ इंटरैक्ट करने के लिए Firebase एडमिन SDK टूल.
Cloud Run के बारे में ज़्यादा जानें. इसमें ये भी शामिल हैं इस्तेमाल करने का तरीका ज़्यादा जानकारी कंटेनर को सेट अप, मैनेज, और कॉन्फ़िगर करना.
कीमत और कीमत की समीक्षा करें के लिए कोटा और सीमाएं Cloud Run.