ক্লাউড কোড দিয়ে বিকাশ করা হচ্ছে

1. উদ্দেশ্য

এই ল্যাবে আপনি করবেন:

  • ক্লাউড কোড প্লাগইনগুলি অন্বেষণ করুন৷
  • Kubernetes ক্লাস্টারে স্থাপন করুন
  • স্ট্রীম kubernetes লগ
  • পরিবর্তনের হট রিলোডিং ব্যবহার করুন
  • লাইভ Kubernetes অ্যাপগুলি ডিবাগ করুন

2. আপনার কর্মক্ষেত্র প্রস্তুত করা হচ্ছে

অ্যাপটি ক্লোন করুন

সংগ্রহস্থল ক্লোন করতে এবং আপনার উন্নয়ন পরিবেশে এটি খুলতে:

  1. নিম্নলিখিত ইউআরএলে গিয়ে ক্লাউড শেল সম্পাদক খুলুন

https://ide.cloud.google.com

  1. টার্মিনাল উইন্ডোতে নিম্নলিখিত কমান্ড দিয়ে অ্যাপ্লিকেশন উত্স ক্লোন করুন:

git clone https://github.com/viglesiasce/sample-app.git -b golden-path

  1. ডিরেক্টরিতে পরিবর্তন করুন এবং আইডিই ওয়ার্কস্পেসটিকে রেপো রুটে সেট করুন

cd sample-app && cloudshell workspace .

Minikube শুরু করুন

এই বিভাগে, আপনি মিনিকুব নামক কুবারনেটসের একটি স্থানীয় সংস্করণ ব্যবহার করে আপনার অ্যাপ্লিকেশন তৈরি, পরীক্ষা, স্থাপন এবং অ্যাক্সেস করেন।

  1. টার্মিনালে, রান করে মিনিকুব শুরু করুন:

minikube start

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

3. ক্লাউড কোড প্লাগইন অন্বেষণ

ক্লাউড কোড কুবারনেটস এবং ক্লাউড রান অ্যাপ্লিকেশনগুলির সম্পূর্ণ বিকাশ চক্রের জন্য IDE সমর্থন প্রদান করে, একটি বিদ্যমান টেমপ্লেট থেকে একটি অ্যাপ্লিকেশন তৈরি করা থেকে শুরু করে আপনার স্থাপন করা অ্যাপের সংস্থানগুলি পর্যবেক্ষণ করা পর্যন্ত। আপনি ক্লাউড কোড দ্বারা প্রদত্ত বিভিন্ন কমান্ড এবং ভিউ ব্যবহার করবেন। এই ধাপে আপনি মৌলিক ইন্টারফেসের সাথে পরিচিত হবেন।

অ্যাক্টিভিটি বার থেকে এক্সপ্লোরার ভিউ পর্যালোচনা করুন

একাধিক ইউজার ইন্টারফেস প্যানেল অ্যাক্টিভিটি বার থেকে অ্যাক্সেসযোগ্য। সংক্ষিপ্তভাবে বিভিন্ন দৃশ্যের সাথে পরিচিত হতে প্রতিটি দৃশ্যের জন্য আইকনে ক্লিক করুন

API এক্সপ্লোরার:

  • অ্যাক্টিভিটি বার থেকে ক্লাউড কোড - ক্লাউড এপিআই আইকন ক্লাউড কোড  ক্লিক করুন। এই ভিউতে কাজ করার জন্য অতিরিক্ত বিবরণ ডকুমেন্টেশনে পাওয়া যায়।

ded1723c524edd72.png

সিক্রেট ম্যানেজার এক্সপ্লোরার:

  • অ্যাক্টিভিটি বারে সিক্রেট ম্যানেজার ভিউ -এ ক্লিক করুন। এই ভিউতে কাজ করার জন্য অতিরিক্ত বিবরণ ডকুমেন্টেশনে পাওয়া যায়

89f88159bcf79fa9.png

ক্লাউড রান এক্সপ্লোরার:

  • বাম দিকে  অ্যাক্টিভিটি বারে ক্লাউড রান আইকন ব্যবহার করে ক্লাউড রান এক্সপ্লোরারে নেভিগেট করুন। এই ভিউতে কাজ করার জন্য অতিরিক্ত বিবরণ ডকুমেন্টেশনে পাওয়া যায়

a1d583fd06413011.png

কুবারনেটস এক্সপ্লোরার:

  • বাম দিকে  অ্যাক্টিভিটি বারে আইকনটি ব্যবহার করে কুবারনেটস এক্সপ্লোরার-এ নেভিগেট করুন। এই ভিউতে কাজ করার জন্য অতিরিক্ত বিবরণ ডকুমেন্টেশনে পাওয়া যায়

b2b8ab3975c5b0c9.png

স্ট্যাটাস বার কমান্ড পর্যালোচনা করুন

স্ট্যাটাস বারে সূচকের মাধ্যমে প্রায়শই ব্যবহৃত কমান্ডগুলি দ্রুত অ্যাক্সেস করা যেতে পারে।

  • স্ট্যাটাস বারে ক্লাউড কোড এক্সটেনশন সূচকটি সনাক্ত করুন d61e85cf23a32a40.png  এবং এটিতে ক্লিক করুন।
  • CloudRun এবং Kubernetes এ চালানো এবং ডিবাগ করার জন্য উপলব্ধ বিভিন্ন কমান্ড পর্যালোচনা করুন
  • অতিরিক্ত বিবরণ এবং নমুনা কার্যক্রমের জন্য ওপেন ওয়েলকাম পৃষ্ঠাতে ক্লিক করুন

কমান্ড প্যালেট কমান্ড পর্যালোচনা করুন

কমান্ড প্যালেট থেকে অতিরিক্ত কমান্ড পাওয়া যায়। আপনি অ্যাক্সেস করতে পারেন এমন কমান্ডের তালিকা পর্যালোচনা করুন।

  • কমান্ড প্যালেট খুলুন (Ctrl/Cmd+Shift+P টিপুন) এবং তারপর উপলব্ধ কমান্ডগুলি ফিল্টার করতে ক্লাউড কোড টাইপ করুন।
  • কমান্ডের তালিকার মাধ্যমে চক্রাকারে আপনার তীর কী ব্যবহার করুন।

4. Kubernetes ক্লাস্টারে স্থাপন করা হচ্ছে

এই বিভাগে, আপনি আপনার অ্যাপ্লিকেশন তৈরি, পরীক্ষা, স্থাপন এবং অ্যাক্সেস করুন।

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

  1. ক্লাউড শেল এডিটরের নীচের প্যানে, ক্লাউড কোড  নির্বাচন করুন d61e85cf23a32a40.png .
  2. শীর্ষে প্রদর্শিত প্যানেলে, কুবারনেটে চালান নির্বাচন করুন। অনুরোধ করা হলে, minikube Kubernetes প্রসঙ্গ ব্যবহার করতে হ্যাঁ নির্বাচন করুন।
  3. নীচের প্যানে আউটপুট ট্যাবটি নির্বাচন করুন 4866761cb9c691e2.png অগ্রগতি এবং বিজ্ঞপ্তি দেখতে
  4. ডানদিকে ড্রপ ডাউন চ্যানেলে "কুবারনেটস: রান/ডিবাগ - বিস্তারিত" নির্বাচন করুন c5e31091d464dbcf.png পাত্রে থেকে লাইভ স্ট্রিমিং অতিরিক্ত বিবরণ এবং লগ দেখতে

যখন বিল্ড এবং পরীক্ষা করা হয়, আউটপুট ট্যাব বলে: Resource deployment/sample-app-dev status completed successfully , এবং দুটি URL তালিকাভুক্ত করা হয়েছে।

  1. ক্লাউড কোড টার্মিনালে, আউটপুট (http://localhost:8080) এর প্রথম URL-এর উপর হোভার করুন এবং তারপরে টুল টিপে প্রদর্শিত ওয়েব প্রিভিউ নির্বাচন করুন।

অ্যাপ্লিকেশনটির স্থানীয় সংস্করণটি আপনার ব্রাউজারে খোলে। অ্যাপটির এই সংস্করণটি মিনিকুবের কুবারনেটস ক্লাস্টারে চলছে।

  1. আপনার ব্রাউজারে, পৃষ্ঠাটি রিফ্রেশ করুন। কাউন্টারের পাশের সংখ্যা বাড়ে, এটি দেখায় যে অ্যাপটি আপনার রিফ্রেশে সাড়া দিচ্ছে।

আপনার ব্রাউজারে, এই পৃষ্ঠাটি খোলা রাখুন যাতে আপনি আপনার স্থানীয় পরিবেশে কোনো পরিবর্তন করার সাথে সাথে অ্যাপ্লিকেশনটি দেখতে পারেন।

5. পরিবর্তনের হট রিলোডিং ব্যবহার করুন

এই বিভাগে, আপনি অ্যাপ্লিকেশনটিতে একটি পরিবর্তন করবেন এবং স্থানীয় কুবারনেটস ক্লাস্টারে অ্যাপটি চলার সাথে সাথে পরিবর্তনটি দেখুন। Kubernetes-এর জন্য আউটপুট ট্যাবে: রান/ডিবাগ চ্যানেল, অ্যাপ্লিকেশন ইউআরএল ছাড়াও, আউটপুট Watching for changes. এর মানে হল ঘড়ি মোড সক্রিয় করা হয়েছে। ক্লাউড কোড ওয়াচ মোডে থাকাকালীন, ক্লাউড কোড আপনার রেপোতে সংরক্ষিত যে কোনও পরিবর্তন সনাক্ত করবে এবং সর্বশেষ পরিবর্তনগুলির সাথে স্বয়ংক্রিয়ভাবে অ্যাপটিকে পুনরায় তৈরি এবং পুনরায় স্থাপন করবে।

  1. ক্লাউড শেল এডিটরে, main.go ফাইলে যান।
  2. এই main.go ফাইলে, 23 লাইনে, সবুজ থেকে নীল রঙে পরিবর্তন করুন।
  3. ফাইলটি সংরক্ষণ করুন।

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

এই স্বয়ংক্রিয় পুনর্নির্মাণটি হট কোড পুনরায় লোড করার অনুরূপ, যা কিছু অ্যাপ্লিকেশন প্রকার এবং ফ্রেমওয়ার্কের জন্য উপলব্ধ একটি বৈশিষ্ট্য।

  1. বিল্ড করা হয়ে গেলে, আপনার ব্রাউজারে যান যেখানে আপনার অ্যাপটি খোলা আছে এবং পৃষ্ঠাটি রিফ্রেশ করুন।

আপনি যখন রিফ্রেশ করেন, টেবিলের উপরের রঙটি নীল থেকে সবুজে পরিবর্তিত হয়।

এই সেটআপটি আপনাকে যেকোনো উপাদান সহ যেকোনো আর্কিটেকচারের জন্য এই স্বয়ংক্রিয় রিলোডিং দেয়। ক্লাউড কোড এবং মিনিকুব ব্যবহার করার সময়, কুবারনেটসে চলমান যেকোন কিছুতে এই হট কোড পুনরায় লোড করার কার্যকারিতা রয়েছে।

6. লাইভ কুবারনেটস অ্যাপস ডিবাগ করা

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

এই ডিবাগ উদাহরণের জন্য, আমরা পৃষ্ঠা কাউন্টারের কোডের বিভাগে ফোকাস করব।

  1. ক্লাউড শেল এডিটরে, main.go ফাইলটি খুলুন
  2. 82 লাইনের বাম নম্বরে ক্লিক করে অ্যাপ্লিকেশনে একটি ব্রেকপয়েন্ট সেট করুন (যদি ভুল হয়!= শূন্য {)
  3. ক্লাউড শেল এডিটরের নীচে নীল ফলকে, ক্লাউড কোড নির্বাচন করুন d61e85cf23a32a40.png
  4. উপরে প্রদর্শিত প্যানেলে, Kubernetes-এ ডিবাগ নির্বাচন করুন।

ক্লাউড কোড ডিবাগারগুলি চালায় এবং সংযুক্ত করে যাতে আপনি অ্যাপ্লিকেশনটির ইন-মেমরি অবস্থা অ্যাক্সেস করতে সক্ষম হবেন, অ্যাপ্লিকেশনটির ব্যবহারকারী-মুখোমুখী আচরণ নয়।

  1. স্থাপন প্রক্রিয়া শেষে আপনার উইন্ডোর শীর্ষে একটি প্রম্পট প্রদর্শিত হবে যেখানে অ্যাপ্লিকেশনটি স্থাপন করা হয়েছে সেই কন্টেইনারে ডিরেক্টরিটি নিশ্চিত করতে বলবে। f96e9a814edb44f4.png

মানটি /go/src/app এ সেট করা আছে তা যাচাই করুন এবং মানটি গ্রহণ করতে এন্টার টিপুন

  1. ডিবাগারের স্থাপনা শেষ হওয়ার জন্য অপেক্ষা করুন। আপনি যখন স্ট্যাটাস বার কমলা হয়ে যাবে এবং আউটপুট রিপোর্ট "Attached debugger to container "sample-app-dev-..." successfully ।"
  2. ক্লাউড কোড টার্মিনালে, আউটপুট (http://localhost:8081) এর প্রথম URL-এর উপর হোভার করুন এবং তারপরে টুল টিপে প্রদর্শিত ওয়েব প্রিভিউ নির্বাচন করুন। পৃষ্ঠাটি লোড করা শেষ হবে না যা প্রত্যাশিত৷
  3. IDE-এ ফিরে যান যেখানে ডিবাগার এখন প্রদর্শিত হয়। কোড ট্যাবে আসে, এবং আপনি কল স্ট্যাক দেখতে পাবেন, কোডের সেই অংশে কী ভেরিয়েবল পাওয়া যায়। আপনি ভেরিয়েবল-কে প্রসারিত করতে পারেন এখানে বর্তমান কাউন্টার ভেরিয়েবল মান দেখতে স্থানীয়।
  4. পৃষ্ঠাটিকে লোড করা চালিয়ে যাওয়ার অনুমতি দিতে, ডিবাগিং উইন্ডোতে "চালিয়ে যান" আইকনটি নির্বাচন করুন৷ 8f395391c4828528.png
  5. আপনার ডিবাগিং শেষ হলে চলমান প্রতিটি থ্রেড বন্ধ করতে স্টপ বোতামে ক্লিক করুন। 81d142a9e1a2c01b.png