Cloud Run की मदद से वेबसाइट को डिप्लॉय करना

वेबसाइटों को चलाने के लिए, वर्चुअल मशीन (वीएम) इंस्टेंस, क्लस्टर, पॉड, सेवाओं वगैरह को बनाने और मैनेज करने में काफ़ी समय लगता है. यह बड़े और कई टियर वाले ऐप्लिकेशन के लिए ठीक है. हालांकि, अगर आपको सिर्फ़ अपनी वेबसाइट को डिप्लॉय करना है और उसे दिखाना है, तो यह बहुत ज़्यादा ओवरहेड है.

Cloud Run, Knative का Google Cloud वर्शन है. इसकी मदद से, अपनी वेबसाइट को मैनेज और डिप्लॉय किया जा सकता है. इसके लिए, आपको VM या Kubernetes पर आधारित डिप्लॉयमेंट के लिए ज़रूरी ओवरहेड की ज़रूरत नहीं होती. मैनेजमेंट के नज़रिए से यह तरीका आसान है. साथ ही, जब आपकी वेबसाइट पर कोई अनुरोध नहीं आता है, तब आपको इसे शून्य तक कम करने की सुविधा भी मिलती है.

Cloud Run, कंटेनर के लिए सर्वरलेस डेवलपमेंट की सुविधा देता है. साथ ही, इसे आपके अपने Google Kubernetes Engine (GKE) क्लस्टर या Cloud Run की ओर से उपलब्ध कराए गए, पूरी तरह से मैनेज किए गए प्लैटफ़ॉर्म ऐज़ अ सर्विस (पीएएएस) सलूशन पर भी चलाया जा सकता है. इस कोडलैब में, दूसरे विकल्प को टेस्ट किया जाएगा.

इस डायग्राम में, डिप्लॉयमेंट और Cloud Run होस्टिंग का फ़्लो दिखाया गया है. इस प्रोसेस की शुरुआत, Cloud Build की मदद से बनाई गई Docker इमेज से होती है. इसे Cloud Shell में ट्रिगर किया जाता है. इसके बाद, Cloud Shell में मौजूद कमांड का इस्तेमाल करके, उस इमेज को Cloud Run पर डिप्लॉय किया जाता है.

ज़रूरी शर्तें

आपको क्या सीखने को मिलेगा

  • Cloud Build की मदद से Docker इमेज बनाने और उसे gcr.io पर अपलोड करने का तरीका
  • Cloud Run में Docker इमेज डिप्लॉय करने का तरीका
  • Cloud Run डिप्लॉयमेंट मैनेज करने का तरीका
  • Cloud Run पर किसी ऐप्लिकेशन के लिए एंडपॉइंट सेट अप करने का तरीका

आपको क्या बनाना है

  • Docker कंटेनर में चलने वाली स्टैटिक वेबसाइट
  • इस कंटेनर का एक वर्शन, जो Container Registry में मौजूद है
  • आपकी स्टैटिक वेबसाइट के लिए Cloud Run डिप्लॉयमेंट

आपको किन चीज़ों की ज़रूरत होगी

  • प्रोजेक्ट बनाने के लिए, एडमिन के तौर पर ऐक्सेस वाला Google खाता या प्रोजेक्ट के मालिक की भूमिका वाला प्रोजेक्ट

अपनी स्पीड से एनवायरमेंट सेट अप करना

अगर आपके पास पहले से कोई Google खाता नहीं है, तो आपको एक खाता बनाना होगा. इसके बाद, Google Cloud Console में साइन इन करें. इसके बाद, प्रोजेक्ट > प्रोजेक्ट बनाएं पर क्लिक करें.

प्रोजेक्ट आईडी को याद रखें. यह आपके प्रोजेक्ट के नाम के नीचे अपने-आप भर जाता है. प्रोजेक्ट आईडी, सभी Google Cloud प्रोजेक्ट के लिए एक यूनीक नाम होता है. इसलिए, स्क्रीनशॉट में मौजूद नाम पहले ही इस्तेमाल किया जा चुका है और यह आपके लिए काम नहीं करेगा. इसे बाद में PROJECT_ID के तौर पर जाना जाएगा.

इसके बाद, आपको Google Cloud संसाधनों का इस्तेमाल करने और Cloud Run API को चालू करने के लिए, Cloud Console में बिलिंग चालू करनी होगी.

Cloud Run API चालू करें

नेविगेशन मेन्यू ☰ > एपीआई और सेवाएं > डैशबोर्ड > एपीआई और सेवाएं चालू करें पर क्लिक करें. .

"Cloud Run API" खोजें. इसके बाद, Cloud Run API > चालू करें पर क्लिक करें.

इस कोडलैब को पूरा करने में आपको कुछ डॉलर से ज़्यादा खर्च नहीं करने पड़ेंगे. हालांकि, अगर आपको ज़्यादा संसाधनों का इस्तेमाल करना है या उन्हें चालू रखना है, तो यह खर्च बढ़ सकता है. इसके बारे में ज़्यादा जानने के लिए, बंद करें सेक्शन देखें. ज़्यादा जानकारी के लिए, कीमत देखें.

Google Cloud के नए उपयोगकर्ता, 300 डॉलर के क्रेडिट के साथ मुफ़्त में आज़माने की सुविधा पा सकते हैं.

Cloud Shell

Google Cloud और Cloud Run को अपने लैपटॉप से रिमोटली ऑपरेट किया जा सकता है. हालांकि, आपको Cloud Shell का इस्तेमाल करना होगा. यह Google Cloud में चलने वाला कमांड-लाइन एनवायरमेंट है. इस एनवायरमेंट में, क्लाइंट लाइब्रेरी और फ़्रेमवर्क पहले से कॉन्फ़िगर किए गए होते हैं.

Debian पर आधारित इस वर्चुअल मशीन में, डेवलपमेंट के लिए ज़रूरी सभी टूल पहले से मौजूद होते हैं. यह 5 जीबी की होम डायरेक्ट्री उपलब्ध कराता है. साथ ही, Google Cloud पर काम करता है. इससे नेटवर्क की परफ़ॉर्मेंस और पुष्टि करने की प्रोसेस बेहतर होती है. इसका मतलब है कि इस कोडलैब के लिए, आपको सिर्फ़ एक ब्राउज़र की ज़रूरत होगी. यह Chromebook पर भी काम करता है.

Google Cloud Shell को चालू करने के लिए, डेवलपर कंसोल में सबसे ऊपर दाईं ओर मौजूद बटन पर क्लिक करें. इसे चालू होने और एनवायरमेंट से कनेक्ट होने में कुछ ही समय लगेगा:

activateCloudShell.png

"Cloud Shell शुरू करें" बटन पर क्लिक करें:

Screen Shot 2017-06-14 at 10.13.43 PM.png

क्लाउड शेल से कनेक्ट होने के बाद, आपको दिखेगा कि आपकी पुष्टि पहले ही हो चुकी है और प्रोजेक्ट पहले से ही आपके PROJECT_ID पर सेट है :

gcloud auth list

कमांड आउटपुट

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)
gcloud config list project

कमांड आउटपुट

[core]
project = <PROJECT_ID>

Cloud Shell, कुछ एनवायरमेंट वैरिएबल को डिफ़ॉल्ट रूप से भी सेट करता है. ये वैरिएबल, आने वाले समय में कमांड चलाने के दौरान आपके काम आ सकते हैं.

echo $GOOGLE_CLOUD_PROJECT

कमांड आउटपुट

<PROJECT_ID>

अगर किसी वजह से प्रोजेक्ट सेट नहीं किया गया है, तो यह कमांड दें :

gcloud config set project <PROJECT_ID>

क्या आपको PROJECT_ID ढूंढना है? देखें कि आपने सेटअप के दौरान किस आईडी का इस्तेमाल किया था. इसके अलावा, इसे कंसोल के डैशबोर्ड में भी देखा जा सकता है:

Project_ID.png

अहम जानकारी: आखिर में, डिफ़ॉल्ट ज़ोन और प्रोजेक्ट का कॉन्फ़िगरेशन सेट करें:

gcloud config set compute/zone us-central1-f

आपके पास अलग-अलग ज़ोन चुनने का विकल्प होता है. ज़्यादा जानने के लिए, क्षेत्र और ज़ोन से जुड़े दस्तावेज़ पढ़ें.

मौजूदा वेबसाइट को डिप्लॉय करने के लिए, आपको सिर्फ़ अपनी रिपॉज़िटरी से सोर्स को क्लोन करना होगा. इससे, Docker इमेज बनाने और Cloud Run पर डिप्लॉय करने पर फ़ोकस किया जा सकेगा.

रिपॉज़िटरी को अपने Cloud Shell इंस्टेंस में क्लोन करने और सही डायरेक्ट्री में बदलने के लिए, यहां दिए गए कमांड चलाएं. आपको Node.js की डिपेंडेंसी भी इंस्टॉल करनी होंगी, ताकि डिप्लॉयमेंट से पहले अपने ऐप्लिकेशन की जांच की जा सके.

cd ~
git clone https://github.com/googlecodelabs/monolith-to-microservices.git
cd ~/monolith-to-microservices
./setup.sh

यह आपकी रिपॉज़िटरी को क्लोन करता है, डायरेक्ट्री में बदलाव करता है, और आपके ऐप्लिकेशन को स्थानीय तौर पर चलाने के लिए ज़रूरी डिपेंडेंसी इंस्टॉल करता है. स्क्रिप्ट को चलने में कुछ मिनट लग सकते हैं.

ज़रूरी जांच करें और अपने ऐप्लिकेशन को टेस्ट करें. अपने वेब सर्वर को शुरू करने के लिए, यह कमांड चलाएं:

cd ~/monolith-to-microservices/monolith
npm start

आउटपुट:

Monolith listening on port 8080!

वेब झलक पर क्लिक करके और पोर्ट 8080 पर झलक देखें को चुनकर, अपने ऐप्लिकेशन की झलक देखी जा सकती है.

इससे एक नई विंडो खुलेगी. इसमें आपको अपना फ़ैंसी स्टोर दिखेगा!

वेबसाइट देखने के बाद, इस विंडो को बंद किया जा सकता है. वेब-सर्वर की प्रोसेस को रोकने के लिए, टर्मिनल विंडो में CONTROL+C (Macintosh पर Command+C) दबाएं.

अब आपकी सोर्स फ़ाइलें तैयार हैं. इसलिए, अब अपने ऐप्लिकेशन को Dockerize करें!

आम तौर पर, आपको दो चरणों वाला तरीका अपनाना होता है. इसमें Docker कंटेनर बनाना और उसे किसी रजिस्ट्री में पुश करना शामिल है, ताकि GKE उससे इमेज को पुल कर सके. हालांकि, Docker कंटेनर बनाने के लिए Cloud Build का इस्तेमाल किया जा सकता है. साथ ही, एक ही कमांड से इमेज को Container Registry में रखा जा सकता है! Dockerfile बनाने और उसे पुश करने की मैन्युअल प्रोसेस देखने के लिए, Container Registry के लिए क्विकस्टार्ट गाइड देखें.

Cloud Build, डायरेक्ट्री में मौजूद फ़ाइलों को कंप्रेस करता है और उन्हें Cloud Storage बकेट में ले जाता है. इसके बाद, बिल्ड प्रोसेस बकेट से सभी फ़ाइलें लेती है और Dockerfile का इस्तेमाल करती है. Dockerfile, Docker बिल्ड प्रोसेस को चलाने के लिए उसी डायरेक्ट्री में मौजूद होता है. आपने Docker इमेज के लिए, gcr.io को होस्ट के तौर पर --tag फ़्लैग के साथ तय किया है. इसलिए, Docker इमेज को Container Registry में पुश किया जाएगा.

सबसे पहले, आपको यह पक्का करना होगा कि Cloud Build API चालू हो. इसे चालू करने के लिए, यह कमांड चलाएं:

gcloud services enable cloudbuild.googleapis.com

एपीआई चालू होने के बाद, बिल्ड प्रोसेस शुरू करने के लिए Cloud Shell में यह निर्देश चलाएं:

gcloud builds submit --tag gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:1.0.0 .

इस प्रोसेस में कुछ मिनट लगते हैं. इसके पूरा होने के बाद, टर्मिनल में आपको इस तरह का आउटपुट दिखेगा:

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ID                                    CREATE_TIME                DURATION  SOURCE                                                                                  IMAGES                              STATUS
1ae295d9-63cb-482c-959b-bc52e9644d53  2019-08-29T01:56:35+00:00  33S       gs://<PROJECT_ID>_cloudbuild/source/1567043793.94-abfd382011724422bf49af1558b894aa.tgz  gcr.io/<PROJECT_ID>/monolith:1.0.0  SUCCESS

अपनी बिल्ड हिस्ट्री देखने या प्रोसेस को रीयल टाइम में देखने के लिए, Cloud Console पर जाएं. इसके बाद, नेविगेशन मेन्यू ☰ > Cloud Build > इतिहास पर क्लिक करें. वहां आपको अपनी पिछली सभी बिल्ड की सूची दिखेगी. हालांकि, उसमें सिर्फ़ वह बिल्ड होनी चाहिए जिसे आपने बनाया है.

बिल्ड आईडी पर क्लिक करने से, आपको उस बिल्ड की पूरी जानकारी दिखेगी. इसमें लॉग आउटपुट भी शामिल है. इमेज के बगल में मौजूद लिंक पर क्लिक करके, बनाई गई कंटेनर इमेज देखी जा सकती है.

अपनी वेबसाइट को कंटेनर में बदलने और उसे Container Registry में पुश करने के बाद, अब उसे Cloud Run पर डिप्लॉय करने का समय आ गया है!

Cloud Run पर डिप्लॉय करने के दो तरीके हैं:

  • Cloud Run (पूरी तरह से मैनेज किया गया) एक PaaS मॉडल है. इसमें कंटेनर के पूरे लाइफ़साइकल को मैनेज किया जाता है. इस कोडलैब के लिए, आपको इसी तरीके का इस्तेमाल करना होगा.
  • Cloud Run for Anthos, Cloud Run का एक ऐसा वर्शन है जिसमें कंट्रोल की एक अतिरिक्त लेयर होती है. इसकी मदद से, GKE से अपने क्लस्टर और पॉड इंपोर्ट किए जा सकते हैं. ज़्यादा जानकारी के लिए, Google Cloud पर Anthos के लिए Cloud Run सेट अप करना लेख पढ़ें.

कमांड-लाइन के उदाहरण, Cloud Shell में होंगे. इनमें उन एनवायरमेंट वैरिएबल का इस्तेमाल किया जाएगा जिन्हें आपने पहले सेट अप किया था.

कमांड लाइन

अपने ऐप्लिकेशन को डिप्लॉय करने के लिए, यह कमांड चलाएं:

gcloud run deploy --image=gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:1.0.0 --platform managed 

आपको यह बताना होगा कि आपको किस इलाके में विज्ञापन दिखाने हैं. अपने सबसे नज़दीकी क्षेत्र को चुनें. इसके बाद, सेवा के लिए सुझाए गए डिफ़ॉल्ट नाम (मोनोलिथ) को स्वीकार करें.

जांच के लिए, ऐप्लिकेशन को बिना पुष्टि किए गए अनुरोधों को स्वीकार करने की अनुमति दें. प्रॉम्प्ट में y डालें.

डिप्लॉयमेंट की पुष्टि करना

यह पुष्टि करने के लिए कि डिप्लॉयमेंट सही तरीके से बनाया गया है, यह कमांड चलाएं. Pod status को Running होने में कुछ समय लग सकता है:

gcloud run services list

[1] Cloud Run (पूरी तरह से मैनेज किया गया) को चुनें.

आउटपुट:

SERVICE   REGION    URL  LAST DEPLOYED BY          LAST DEPLOYED AT
✔  monolith  us-east1 <your url>  <your email>  2019-09-16T21:07:38.267Z

आउटपुट में आपको कई चीज़ें दिखती हैं. आपको अपना डिप्लॉयमेंट दिखेगा. साथ ही, उसे डिप्लॉय करने वाले उपयोगकर्ता (आपका ईमेल पता) और ऐप्लिकेशन को ऐक्सेस करने के लिए इस्तेमाल किया जा सकने वाला यूआरएल दिखेगा. ऐसा लगता है कि सब कुछ सही तरीके से बन गया है!

अपने वेब ब्राउज़र में, सेवाओं की सूची में दिया गया यूआरएल खोलें. आपको वही वेबसाइट दिखेगी जिसका आपने स्थानीय तौर पर पूर्वावलोकन किया था.

अब अपने ऐप्लिकेशन को फिर से डिप्लॉय करें. हालांकि, इस बार किसी एक पैरामीटर में बदलाव करें.

डिफ़ॉल्ट रूप से, Cloud Run ऐप्लिकेशन की कॉंक्यूरेंसी वैल्यू 80 होती है. इसका मतलब है कि हर कंटेनर इंस्टेंस, एक बार में 80 अनुरोधों को पूरा करेगा. यह सेवा के तौर पर काम करने वाले फ़ंक्शन (FaaS) मॉडल से अलग है. इसमें एक इंस्टेंस, एक बार में एक अनुरोध को हैंडल करता है.

उसी कंटेनर इमेज को फिर से डिप्लॉय करें. साथ ही, कंकरेंसी की वैल्यू 1 पर सेट करें. ऐसा सिर्फ़ टेस्टिंग के लिए करें और देखें कि क्या होता है.

gcloud run deploy --image=gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:1.0.0 --platform managed --concurrency 1

इसके बाद, पूछे गए सवालों के जवाब उसी तरह दें जैसे आपने पहली बार दिए थे. कमांड के पूरा होने के बाद, Cloud Console में जाकर नतीजे देखें.

Cloud Run डैशबोर्ड में, जानकारी देखने के लिए monolith सेवा पर क्लिक करें.

बदलाव टैब पर क्लिक करें. आपको दो बदलाव दिखेंगे. monolith-00002 पर क्लिक करें और जानकारी देखें. आपको एक साथ इस्तेमाल करने की वैल्यू 1 पर सेट दिखेगी.

]

हालांकि, टेस्टिंग के लिए यह कॉन्फ़िगरेशन काफ़ी है. हालांकि, ज़्यादातर प्रोडक्शन के मामलों में आपके पास ऐसे कंटेनर होंगे जो एक साथ कई अनुरोधों को पूरा कर सकते हैं.

अब, बिना फिर से डिप्लॉय किए, ओरिजनल कंकरेंसी को वापस लाएं. कॉन्करेंसी की वैल्यू को डिफ़ॉल्ट तौर पर 80 या 0 पर सेट किया जा सकता है. इससे कॉन्करेंसी से जुड़ी सभी पाबंदियां हट जाएंगी और इसे डिफ़ॉल्ट तौर पर ज़्यादा से ज़्यादा वैल्यू पर सेट कर दिया जाएगा. फ़िलहाल, यह वैल्यू 80 है.

मौजूदा वर्शन को अपडेट करने के लिए, Cloud Shell में यह कमांड चलाएं:

gcloud run deploy --image=gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:1.0.0 --platform managed --concurrency 80

ध्यान दें कि एक और वर्शन बनाया गया है, ट्रैफ़िक को रीडायरेक्ट किया गया है, और एक साथ इस्तेमाल करने वाले लोगों की संख्या फिर से 80 हो गई है.

आपकी मार्केटिंग टीम ने आपसे, कंपनी की वेबसाइट का होम पेज बदलने के लिए कहा है. उनका मानना है कि इस पेज पर कंपनी और उसके प्रॉडक्ट के बारे में ज़्यादा जानकारी होनी चाहिए. इस सेक्शन में, आपको होम पेज पर कुछ टेक्स्ट जोड़ना होगा, ताकि मार्केटिंग टीम खुश हो जाए!

ऐसा लगता है कि आपके किसी डेवलपर ने पहले ही index.js.new फ़ाइल नाम से बदलाव कर दिए हैं. उस फ़ाइल को index.js में कॉपी करें. इसके बाद, किए गए बदलाव दिखने लगेंगे. ज़रूरी बदलाव करने के लिए, निर्देशों का पालन करें.

यहां दी गई कमांड चलाएं. इसके बाद, अपडेट की गई फ़ाइल को सही फ़ाइल नाम में कॉपी करें. इसके बाद, बदलावों की पुष्टि करने के लिए, फ़ाइल का कॉन्टेंट प्रिंट करें:

cd ~/monolith-to-microservices/react-app/src/pages/Home
mv index.js.new index.js
cat ~/monolith-to-microservices/react-app/src/pages/Home/index.js

नतीजे वाला कोड कुछ ऐसा दिखना चाहिए:

/*
Copyright 2019 Google LLC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

import React from "react";
import { makeStyles } from "@material-ui/core/styles";
import Paper from "@material-ui/core/Paper";
import Typography from "@material-ui/core/Typography";
const useStyles = makeStyles(theme => ({
  root: {
    flexGrow: 1
  },
  paper: {
    width: "800px",
    margin: "0 auto",
    padding: theme.spacing(3, 2)
  }
}));
export default function Home() {
  const classes = useStyles();
  return (
    <div className={classes.root}>
      <Paper className={classes.paper}>
        <Typography variant="h5">
          Fancy Fashion &amp; Style Online
        </Typography>
        <br />
        <Typography variant="body1">
          Tired of mainstream fashion ideas, popular trends and societal norms?
          This line of lifestyle products will help you catch up with the Fancy trend and express your personal style.
          Start shopping Fancy items now!
        </Typography>
      </Paper>
    </div>
  );
}

आपने React कॉम्पोनेंट अपडेट कर दिए हैं. हालांकि, स्टैटिक फ़ाइलें जनरेट करने के लिए, आपको React ऐप्लिकेशन बनाना होगा. React ऐप्लिकेशन बनाने और उसे मोनोलिथ की सार्वजनिक डायरेक्ट्री में कॉपी करने के लिए, यह कमांड चलाएं:

cd ~/monolith-to-microservices/react-app
npm run build:monolith

कोड अपडेट हो जाने के बाद, आपको Docker कंटेनर को फिर से बनाना होगा और उसे Container Registry में पब्लिश करना होगा. पहले की तरह ही कमांड का इस्तेमाल किया जा सकता है. हालांकि, इस बार आपको वर्शन लेबल अपडेट करना होगा!

अपडेट किए गए इमेज वर्शन 2.0.0 के साथ नया Cloud Build ट्रिगर करने के लिए, यह कमांड चलाएं:

cd ~/monolith-to-microservices/monolith

#Feel free to test your application
npm start

gcloud builds submit --tag gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:2.0.0 .

अगले सेक्शन में, आपको उस इमेज का इस्तेमाल करके, ऐप्लिकेशन को बिना किसी रुकावट के अपडेट करने का तरीका बताया जाएगा.

बदलाव पूरे हो गए हैं और मार्केटिंग टीम आपके अपडेट से खुश है! अब वेबसाइट को अपडेट करने का समय आ गया है, ताकि उपयोगकर्ताओं को कोई परेशानी न हो.

Cloud Run, हर डिप्लॉयमेंट को एक नए वर्शन के तौर पर मानता है. इसे ऑनलाइन किया जाएगा और फिर ट्रैफ़िक को इस पर रीडायरेक्ट किया जाएगा.

अपनी वेबसाइट अपडेट करने के लिए, यहां दिए गए निर्देशों का पालन करें.

कमांड लाइन

कमांड लाइन से, सेवा को फिर से डिप्लॉय किया जा सकता है. इससे इमेज को नए वर्शन में अपडेट किया जा सकेगा. इसके लिए, यह कमांड इस्तेमाल करें:

gcloud run deploy --image=gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:2.0.0 --platform managed

डिप्लॉयमेंट की पुष्टि करना

नीचे दिए गए निर्देश का इस्तेमाल करके, डिप्लॉयमेंट अपडेट की पुष्टि करें:

gcloud run services describe monolith --platform managed 

आउटपुट ऐसा दिखता है:

apiVersion: serving.knative.dev/v1alpha1
kind: Service
metadata:
  annotations:
    client.knative.dev/user-image: gcr.io/my-cloudrun-codelab/monolith:2.0.0
...

आपको दिखेगा कि आपकी सेवा, अब नए वर्शन में डिप्लॉय की गई इमेज के नए वर्शन का इस्तेमाल कर रही है.

अपने बदलावों की पुष्टि करने के लिए, Cloud Run सेवा के बाहरी यूआरएल पर फिर से जाएं. देखें कि आपके ऐप्लिकेशन का टाइटल अपडेट हो गया है.

अगर आपको आईपी पता याद नहीं है, तो सेवाओं की सूची देखने और आईपी पता देखने के लिए, यह कमांड चलाएं:

gcloud run services list

अब आपकी वेबसाइट पर, होम पेज कॉम्पोनेंट में जोड़ा गया टेक्स्ट दिखेगा!

Container Registry की इमेज मिटाना

# Delete the container image for version 1.0.0 of our monolith
gcloud container images delete gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:1.0.0 --quiet

# Delete the container image for version 2.0.0 of our monolith
gcloud container images delete gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:2.0.0 --quiet

Cloud Storage से Cloud Build आर्टफ़ैक्ट मिटाना

# The following command will take all source archives from all builds and delete them from cloud storage

# Run this command to print all sources:
# gcloud builds list | awk 'NR > 1 {print $4}' 

gcloud builds list | awk 'NR > 1 {print $4}' | while read line; do gsutil rm $line; done

Cloud Run सेवा मिटाना

gcloud run services delete monolith --platform managed

आपने Cloud Run की मदद से अपनी वेबसाइट को डिप्लॉय, स्केल, और अपडेट किया हो.

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