ক্লাউড রান সহ একটি ওয়েবসাইট স্থাপন করুন

1. আপনি শুরু করার আগে

ভার্চুয়াল মেশিন (ভিএম) দৃষ্টান্ত, ক্লাস্টার, পড, পরিষেবা এবং আরও অনেক কিছু তৈরি এবং পরিচালনার সমস্ত ওভারহেড দিয়ে ওয়েবসাইট চালানো কঠিন হতে পারে। এটি বৃহত্তর, বহু-স্তরযুক্ত অ্যাপগুলির জন্য ঠিক আছে, কিন্তু আপনি যদি শুধুমাত্র আপনার ওয়েবসাইটটি স্থাপন এবং দৃশ্যমান করার চেষ্টা করছেন, তাহলে এটি অনেক বেশি ওভারহেড।

ক্লাউড রানের সাহায্যে, Knative- এর Google ক্লাউড বাস্তবায়ন, আপনি VM- বা Kubernetes-ভিত্তিক স্থাপনার জন্য প্রয়োজনীয় কোনো ওভারহেড ছাড়াই আপনার ওয়েবসাইট পরিচালনা এবং স্থাপন করতে পারেন। শুধুমাত্র ব্যবস্থাপনার দৃষ্টিকোণ থেকে এটি একটি সহজ পদ্ধতি নয়, এটি আপনাকে শূন্যে স্কেল করার ক্ষমতাও দেয় যখন আপনার ওয়েবসাইটে কোনো অনুরোধ আসে না।

এই কোডল্যাবে, আপনি ক্লাউড বিল্ডের মাধ্যমে তৈরি একটি ডকার ইমেজ দিয়ে শুরু করেন, যা আপনি ক্লাউড শেলে ট্রিগার করেন। তারপর, আপনি ক্লাউড শেল-এ একটি কমান্ড দিয়ে সেই চিত্রটিকে ক্লাউড রানে স্থাপন করুন।

পূর্বশর্ত

আপনি কি শিখবেন

  • কীভাবে ক্লাউড বিল্ডের সাথে একটি ডকার ইমেজ তৈরি করবেন এবং এটি gcr.io-তে আপলোড করবেন
  • ক্লাউড রানে কীভাবে ডকার ইমেজ স্থাপন করবেন
  • ক্লাউড রান স্থাপনাগুলি কীভাবে পরিচালনা করবেন
  • ক্লাউড রানে একটি অ্যাপের জন্য কীভাবে একটি শেষ পয়েন্ট সেট আপ করবেন

আপনি কি নির্মাণ করবেন

  • একটি স্ট্যাটিক ওয়েবসাইট যা একটি ডকার কন্টেইনারের ভিতরে চলে
  • এই কন্টেইনারের একটি সংস্করণ যা কন্টেইনার রেজিস্ট্রিতে থাকে
  • আপনার স্ট্যাটিক ওয়েবসাইটের জন্য একটি ক্লাউড রান স্থাপনা

আপনি কি প্রয়োজন হবে

  • প্রজেক্ট তৈরি করতে প্রশাসনিক অ্যাক্সেস সহ একটি Google অ্যাকাউন্ট বা প্রকল্প-মালিকের ভূমিকা সহ একটি প্রকল্প

2. পরিবেশ সেটআপ

স্ব-গতিসম্পন্ন পরিবেশ সেটআপ

আপনার যদি ইতিমধ্যে একটি Google অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে। তারপরে, Google ক্লাউড কনসোলে সাইন ইন করুন এবং প্রকল্প > প্রকল্প তৈরি করুন ক্লিক করুন।

53dad2cefdae71da.png

faab21976aabeb4c.png

প্রজেক্ট আইডি মনে রাখবেন, যেটি আপনার প্রোজেক্টের নামের অধীনে স্বয়ংক্রিয়ভাবে তৈরি হয়। প্রোজেক্ট আইডি হল সমস্ত Google ক্লাউড প্রোজেক্ট জুড়ে একটি অনন্য নাম, তাই স্ক্রিনশটের নামটি ইতিমধ্যেই নেওয়া হয়েছে এবং আপনার জন্য কাজ করবে না৷ এটিকে পরে PROJECT_ID হিসাবে উল্লেখ করা হবে৷

এর পরে, আপনাকে Google ক্লাউড সংস্থানগুলি ব্যবহার করতে এবং ক্লাউড রান API সক্ষম করতে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে৷

Cloud Run API সক্ষম করুন

নেভিগেশন মেনুতে ক্লিক করুন ☰ > APIs & Services > Dashboard > Enable APIs এবং Services । .

5dbb2e6e27a55fcf.png

"ক্লাউড রান API" অনুসন্ধান করুন, তারপরে ক্লাউড রান API > সক্ষম করুন ক্লিক করুন।

f1fd486174a744cf.png

এই কোডল্যাবের মাধ্যমে চালানোর জন্য আপনার কয়েক ডলারের বেশি খরচ করা উচিত নয়, তবে আপনি যদি আরও সংস্থান ব্যবহার করার সিদ্ধান্ত নেন বা আপনি সেগুলি চলমান রেখে দেন তবে এটি আরও বেশি হতে পারে (শেষে ক্লিন আপ দেখুন)। আরও তথ্যের জন্য, মূল্য দেখুন।

Google ক্লাউডের নতুন ব্যবহারকারীরা $300 বিনামূল্যের ট্রায়ালের জন্য যোগ্য৷

মেঘের শেল

Google ক্লাউড এবং ক্লাউড রান আপনার ল্যাপটপ থেকে দূরবর্তীভাবে চালানো যেতে পারে, আপনি ক্লাউড শেল ব্যবহার করবেন, Google ক্লাউডে চলমান একটি কমান্ড-লাইন পরিবেশ। আপনার প্রয়োজনীয় সমস্ত ক্লায়েন্ট লাইব্রেরি এবং ফ্রেমওয়ার্কগুলির সাথে পরিবেশটি পূর্বে কনফিগার করা হয়েছে।

এই ডেবিয়ান-ভিত্তিক ভার্চুয়াল মেশিনটি আপনার প্রয়োজনীয় সমস্ত বিকাশের সরঞ্জামগুলির সাথে লোড করা হয়েছে। এটি একটি ক্রমাগত 5GB হোম ডিরেক্টরি অফার করে এবং Google ক্লাউডে চলে, যা নেটওয়ার্ক কর্মক্ষমতা এবং প্রমাণীকরণকে ব্যাপকভাবে উন্নত করে। এর মানে হল যে এই কোডল্যাবের জন্য আপনার যা দরকার তা হল একটি ব্রাউজার (হ্যাঁ, এটি একটি Chromebook এ কাজ করে)।

  1. ক্লাউড কনসোল থেকে ক্লাউড শেল সক্রিয় করতে, কেবল ক্লাউড শেল সক্রিয় করুন ক্লিক করুন fEbHefbRynwXpq1vj2wJw6Dr17O0np8l-WOekxAZYlZQIORsWQE_xJl-cNhogjATLn-YxLVz8CgLvIW1Ncc0yXKJsfzJGMYgUeLsVBzxNg74Bg7fz7 kP-X3Q (পরিবেশের সাথে সংযোগ স্থাপন এবং সংযোগের জন্য এটি শুধুমাত্র কয়েক মুহূর্ত নিতে হবে)।

I5aEsuNurCxHoDFjZRZrKBdarPPKPoKuExYpdagmdaOLKe7eig3DAKJitIKyuOpuwmrMAyZhp5AXpmD_k66cBuc1aUnWlJeSfo_aTKPY9aNMurhfeggN1NYp1NYp1CJ

স্ক্রীন শট 2017-06-14 10.13.43 PM.png এ

একবার ক্লাউড শেলের সাথে সংযুক্ত হয়ে গেলে, আপনি দেখতে পাবেন যে আপনি ইতিমধ্যেই প্রমাণীকৃত এবং প্রকল্পটি ইতিমধ্যেই আপনার PROJECT_ID তে সেট করা আছে।

gcloud auth list

কমান্ড আউটপুট

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

কমান্ড আউটপুট

[core]
project = <PROJECT_ID>

যদি, কোন কারণে, প্রকল্পটি সেট করা না হয়, কেবল নিম্নলিখিত কমান্ডটি জারি করুন:

gcloud config set project <PROJECT_ID>

আপনার PROJECT_ID খুঁজছেন? সেটআপ ধাপে আপনি কোন আইডি ব্যবহার করেছেন তা দেখুন বা ক্লাউড কনসোল ড্যাশবোর্ডে দেখুন:

R7chO4PKQfLC3bvFBNZJALLTUiCgyLEq_67ECX7ohs_0ZnSjC7GxDNxWrJJUaoM53LnqABYamrBJhCuXF-J9XBzuUgaz7VvaxNrkP2TAn93DrxBzuUgaz7VvaxNrkP2TAn93DrxX7ohs-5GZXH52T

ক্লাউড শেল ডিফল্টরূপে কিছু এনভায়রনমেন্ট ভেরিয়েবলও সেট করে, যা আপনার ভবিষ্যত কমান্ড চালানোর সময় কার্যকর হতে পারে।

echo $GOOGLE_CLOUD_PROJECT

কমান্ড আউটপুট

<PROJECT_ID>
  1. অবশেষে, ডিফল্ট জোন এবং প্রকল্প কনফিগারেশন সেট করুন।
gcloud config set compute/zone us-central1-f

আপনি বিভিন্ন জোন বিভিন্ন চয়ন করতে পারেন. আরও তথ্যের জন্য, অঞ্চল এবং অঞ্চল দেখুন।

3. ক্লোন সোর্স রিপোজিটরি

প্রদত্ত যে আপনি একটি বিদ্যমান ওয়েবসাইট স্থাপন করছেন, আপনাকে শুধুমাত্র আপনার সংগ্রহস্থল থেকে উত্সটি ক্লোন করতে হবে, যাতে আপনি ডকার ইমেজ তৈরি এবং ক্লাউড রানে স্থাপনে ফোকাস করতে পারেন।

আপনার ক্লাউড শেল ইনস্ট্যান্সে সংগ্রহস্থল ক্লোন করতে নিম্নলিখিত কমান্ডগুলি চালান এবং উপযুক্ত ডিরেক্টরিতে পরিবর্তন করুন। আপনি 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!

আপনি ওয়েব প্রিভিউ-এ ক্লিক করে আপনার অ্যাপের পূর্বরূপ দেখতে পারেন acc630712255c604.png এবং পোর্ট 8080 এ প্রিভিউ নির্বাচন করুন।

5869738f0e9ec386.png

এটি একটি নতুন উইন্ডো খোলে যেখানে আপনি আপনার অভিনব দোকানটি কার্যকর দেখতে পাবেন!

9ed25c3f0cbe62fa.png

ওয়েবসাইট দেখার পর আপনি এই উইন্ডোটি বন্ধ করতে পারেন। ওয়েব-সার্ভার প্রক্রিয়া বন্ধ করতে, টার্মিনাল উইন্ডোতে CONTROL+C (ম্যাকিন্টোশে Command+C ) টিপুন।

4. ক্লাউড বিল্ড দিয়ে ডকার কন্টেইনার তৈরি করুন

এখন আপনার সোর্স ফাইলগুলি যাওয়ার জন্য প্রস্তুত, এটি আপনার অ্যাপ ডকারাইজ করার সময়!

সাধারণত, আপনাকে একটি দ্বি-পদক্ষেপ পদ্ধতি গ্রহণ করতে হবে যার মধ্যে একটি ডকার কন্টেইনার তৈরি করা এবং এটিকে একটি রেজিস্ট্রিতে ঠেলে GKE থেকে তোলার জন্য চিত্রটি সংরক্ষণ করতে হবে। যাইহোক, আপনি ডকার কন্টেইনার তৈরি করতে ক্লাউড বিল্ড ব্যবহার করে জীবনকে আরও সহজ করে তুলতে পারেন এবং একটি একক কমান্ডের সাহায্যে ছবিটিকে কনটেইনার রেজিস্ট্রিতে রাখতে পারেন! একটি ডকারফাইল তৈরি এবং এটি পুশ করার ম্যানুয়াল প্রক্রিয়া দেখতে, কন্টেইনার রেজিস্ট্রির জন্য কুইকস্টার্ট দেখুন।

ক্লাউড বিল্ড ডিরেক্টরি থেকে ফাইলগুলিকে সংকুচিত করে এবং সেগুলিকে একটি ক্লাউড স্টোরেজ বালতিতে নিয়ে যায়। বিল্ড প্রক্রিয়া তারপর বালতি থেকে সমস্ত ফাইল নেয় এবং ডকারফাইল ব্যবহার করে, যা ডকার বিল্ড প্রক্রিয়া চালানোর জন্য একই ডিরেক্টরিতে উপস্থিত থাকে। আপনি ডকার ইমেজের জন্য gcr.io হিসাবে হোস্টের সাথে --tag পতাকা নির্দিষ্ট করেছেন, ফলে ডকার ইমেজটি কনটেইনার রেজিস্ট্রিতে পুশ করা হবে।

প্রথমে, আপনাকে নিশ্চিত করতে হবে যে আপনার ক্লাউড বিল্ড API সক্ষম করা আছে। এটি সক্ষম করতে নিম্নলিখিত কমান্ডটি চালান:

gcloud services enable cloudbuild.googleapis.com

API সক্ষম হওয়ার পরে, বিল্ড প্রক্রিয়া শুরু করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান:

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

আপনার বিল্ড ইতিহাস দেখতে বা রিয়েল টাইমে প্রক্রিয়াটি দেখতে, আপনি ক্লাউড কনসোলে যেতে পারেন, তারপরে নেভিগেশন মেনু ☰ > ক্লাউড বিল্ড > ইতিহাসে ক্লিক করুন। সেখানে, আপনি আপনার সমস্ত পূর্ববর্তী বিল্ডগুলির একটি তালিকা দেখতে পারেন, তবে সেখানে শুধুমাত্র আপনার তৈরি করা হওয়া উচিত।

4c753ede203255f6.png

আপনি যদি বিল্ড আইডিতে ক্লিক করেন, আপনি লগ আউটপুট সহ সেই বিল্ডের সমস্ত বিবরণ দেখতে পাবেন। আপনি চিত্রের পাশের লিঙ্কে ক্লিক করে তৈরি করা ধারক চিত্রটি দেখতে পারেন।

6e88ed1643dfe629.png

5. ক্লাউড রানে কন্টেইনার স্থাপন করুন

এখন আপনি আপনার ওয়েবসাইটকে কন্টেইনারাইজ করেছেন এবং এটিকে কন্টেইনার রেজিস্ট্রিতে ঠেলে দিয়েছেন, এখন ক্লাউড রানে স্থাপন করার সময়!

ক্লাউড রানে স্থাপনের জন্য দুটি পদ্ধতি রয়েছে:

  • ক্লাউড রান (সম্পূর্ণভাবে পরিচালিত) হল PaaS মডেল যেখানে সম্পূর্ণ কন্টেইনার লাইফসাইকেল পরিচালিত হয়। আপনি এই কোডল্যাবের জন্য সেই পদ্ধতিটি ব্যবহার করবেন।
  • অ্যান্থোসের জন্য ক্লাউড রান হল একটি অতিরিক্ত স্তর নিয়ন্ত্রণ সহ ক্লাউড রান, যা আপনাকে GKE থেকে আপনার ক্লাস্টার এবং পড আনতে দেয়। আরও তথ্যের জন্য, Google ক্লাউডে অ্যান্থোসের জন্য ক্লাউড রান সেট আপ করা দেখুন।

কমান্ড-লাইন উদাহরণগুলি ক্লাউড শেলে পরিবেশের ভেরিয়েবল ব্যবহার করে থাকবে যা আপনি আগে সেট আপ করেছেন।

কমান্ড লাইন

আপনার অ্যাপ স্থাপন করতে নিম্নলিখিত কমান্ডটি চালান:

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

আপনি কোন অঞ্চলে দৌড়াতে চান তা নির্দিষ্ট করতে বলা হবে৷ আপনার নিকটতম অঞ্চলটি নির্বাচন করুন, তারপরে ডিফল্ট প্রস্তাবিত পরিষেবার নাম (একশিলা) গ্রহণ করুন৷

d52d9419c5166674.png

পরীক্ষার উদ্দেশ্যে, অ্যাপে অপ্রমাণিত অনুরোধের অনুমতি দিন। প্রম্পটে y লিখুন।

3a57b32f133dad61.png

স্থাপনা যাচাই করুন

স্থাপনা সফলভাবে তৈরি করা হয়েছে তা যাচাই করতে, নিম্নলিখিত কমান্ডটি চালান। Pod status Running হতে কয়েক মুহূর্ত লাগতে পারে:

gcloud run services list

ক্লাউড রান (সম্পূর্ণ পরিচালিত) নির্বাচন করুন।

আউটপুট:

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

আউটপুট আপনাকে বিভিন্ন জিনিস দেখায়। আপনি আপনার স্থাপনা, সেইসাথে যে ব্যবহারকারী এটি স্থাপন করেছেন (আপনার ইমেল ঠিকানা) এবং আপনি অ্যাপটি অ্যাক্সেস করতে ব্যবহার করতে পারেন এমন URL দেখতে পারেন। সবকিছু সফলভাবে তৈরি করা হয়েছে বলে মনে হচ্ছে!

আপনার ওয়েব ব্রাউজারে পরিষেবার তালিকায় প্রদত্ত URLটি খুলুন এবং আপনি স্থানীয়ভাবে যে ওয়েবসাইটটি প্রিভিউ করেছেন তা দেখতে হবে।

6. কম কনকারেন্সি সহ নতুন রিভিশন তৈরি করুন

এখন, আপনার অ্যাপ আবার স্থাপন করুন, কিন্তু এই সময় পরামিতিগুলির একটি সামঞ্জস্য করুন।

ডিফল্টরূপে, একটি ক্লাউড রান অ্যাপের একযোগে মান 80 থাকবে, যার অর্থ প্রতিটি কন্টেইনার উদাহরণ একবারে 80টি অনুরোধ পর্যন্ত পরিবেশন করবে। এটি একটি পরিষেবা (FaaS) মডেল হিসাবে ফাংশন থেকে একটি বড় প্রস্থান, যেখানে একটি উদাহরণ একবারে একটি অনুরোধ পরিচালনা করে।

একই কন্টেইনার ইমেজ 1 এর সমগত মান সহ পুনরায় স্থাপন করুন (শুধুমাত্র পরীক্ষার উদ্দেশ্যে) এবং দেখুন কি হয়।

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

আপনি প্রথমবারের মতো পরবর্তী প্রশ্নের উত্তর দিন। কমান্ড সফল হলে, ফলাফল দেখতে ক্লাউড কনসোল চেক করুন।

ক্লাউড রান ড্যাশবোর্ড থেকে, বিশদ দেখতে মনোলিথ পরিষেবাতে ক্লিক করুন।

7d1eed2e4728a4f2.png

রিভিশন ট্যাবে ক্লিক করুন। আপনি দুটি সংশোধন তৈরি দেখতে হবে. মনোলিথ-00002- এ ক্লিক করুন এবং বিশদ পর্যালোচনা করুন। আপনি দেখতে হবে যে সঙ্গতি মান 1 এ কমে গেছে।

217185c0eccc87dd.png ]

4ad481b8bcd0343d.png

যদিও সেই কনফিগারেশনটি পরীক্ষার জন্য যথেষ্ট, বেশিরভাগ উৎপাদন পরিস্থিতিতে আপনার কাছে একাধিক সমসাময়িক অনুরোধ সমর্থনকারী কন্টেইনার থাকবে।

এখন, পুনঃনিয়োগ না করেই মূল সঙ্গতি পুনরুদ্ধার করুন। আপনি কনকারেন্সি মান 80 বা 0 এর ডিফল্টে সেট করতে পারেন, যা যেকোন কনকারেন্সি সীমাবদ্ধতা সরিয়ে দেবে এবং এটিকে ডিফল্ট সর্বোচ্চ (যা এই লেখার সময় 80 হবে) সেট করবে।

বর্তমান সংশোধন আপডেট করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান:

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

লক্ষ্য করুন যে আরেকটি সংশোধন তৈরি করা হয়েছে, সেই ট্র্যাফিককে পুনঃনির্দেশিত করা হয়েছে, এবং সঙ্গতিটি 80-এ ফিরে এসেছে।

7. ওয়েবসাইটে পরিবর্তন করুন

আপনার মার্কেটিং টিম আপনাকে আপনার কোম্পানির ওয়েবসাইটের হোম পেজ পরিবর্তন করতে বলেছে। তারা মনে করে যে কোম্পানিটি কী এবং বিক্রি করে সে সম্পর্কে এটি আরও তথ্যপূর্ণ হওয়া উচিত। এই বিভাগে, আপনি বিপণন দলকে খুশি করতে হোম পেজে কিছু পাঠ্য যোগ করবেন!

দেখে মনে হচ্ছে আপনার একজন ডেভেলপার ইতিমধ্যেই ফাইলের নাম 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>
  );
}

আপনি প্রতিক্রিয়া উপাদানগুলি আপডেট করেছেন, তবে স্ট্যাটিক ফাইলগুলি তৈরি করতে আপনাকে প্রতিক্রিয়া অ্যাপ তৈরি করতে হবে। প্রতিক্রিয়া অ্যাপ্লিকেশন তৈরি করতে নিম্নলিখিত কমান্ডটি চালান এবং এটি মনোলিথ পাবলিক ডিরেক্টরিতে অনুলিপি করুন:

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

এখন আপনার কোড আপডেট করা হয়েছে, আপনাকে আপনার ডকার কন্টেইনার পুনর্নির্মাণ করতে হবে এবং কনটেইনার রেজিস্ট্রিতে এটি প্রকাশ করতে হবে। আপনি আগের মতো একই কমান্ড ব্যবহার করতে পারেন, এই সময় ছাড়া আপনি সংস্করণ লেবেল আপডেট করবেন!

2.0.0 এর একটি আপডেট হওয়া চিত্র সংস্করণ সহ একটি নতুন ক্লাউড বিল্ড ট্রিগার করতে নিম্নলিখিত কমান্ডটি চালান:

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 .

পরবর্তী বিভাগে, আপনি শূন্য ডাউনটাইম সহ আপনার অ্যাপ আপডেট করতে সেই চিত্রটি ব্যবহার করবেন।

8. শূন্য ডাউনটাইম সহ ওয়েবসাইট আপডেট করুন

পরিবর্তনগুলি সম্পন্ন হয়েছে এবং বিপণন দল আপনার আপডেটের সাথে খুশি! এটি ব্যবহারকারীদের বাধা ছাড়াই ওয়েবসাইট আপডেট করার সময়।

ক্লাউড রান প্রতিটি স্থাপনাকে একটি নতুন পুনর্বিবেচনা হিসাবে বিবেচনা করে, যা অনলাইনে আনা হবে তারপরে ট্রাফিককে এতে পুনঃনির্দেশিত করা হবে।

আপনার ওয়েবসাইট আপডেট করতে নির্দেশাবলীর পরবর্তী সেটগুলি অনুসরণ করুন৷

কমান্ড লাইন

কমান্ড লাইন থেকে, আপনি নিম্নলিখিত কমান্ডের সাহায্যে ছবিটিকে একটি নতুন সংস্করণে আপডেট করতে পরিষেবাটি পুনরায় স্থাপন করতে পারেন:

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
...

আপনি দেখতে পাবেন যে আপনার পরিষেবা এখন একটি নতুন সংশোধনে স্থাপন করা আপনার ছবির সর্বশেষ সংস্করণ ব্যবহার করছে৷

আপনার পরিবর্তনগুলি যাচাই করতে, আবার আপনার ক্লাউড রান পরিষেবার বাহ্যিক URL-এ নেভিগেট করুন এবং লক্ষ্য করুন যে আপনার অ্যাপের শিরোনাম আপডেট করা হয়েছে৷

পরিষেবাগুলি তালিকাভুক্ত করতে নিম্নলিখিত কমান্ডটি চালান এবং যদি আপনি এটি ভুলে যান তবে IP ঠিকানাটি দেখুন:

gcloud run services list

আপনার ওয়েবসাইটে এখন আপনার হোম পেজ উপাদানে যোগ করা পাঠ্য প্রদর্শন করা উচিত!

451ca252acae6928.png

9. পরিষ্কার করুন

কন্টেইনার রেজিস্ট্রি ছবি মুছুন

# 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

ক্লাউড স্টোরেজ থেকে ক্লাউড বিল্ড আর্টিফ্যাক্ট মুছুন

# 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

ক্লাউড রান পরিষেবা মুছুন

gcloud run services delete monolith --platform managed

10. অভিনন্দন

আপনি ক্লাউড রানের মাধ্যমে আপনার ওয়েবসাইট স্থাপন করেছেন, স্কেল করেছেন এবং আপডেট করেছেন।

আরও জানুন