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

১. উদ্দেশ্যসমূহ

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

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

২. আপনার কর্মক্ষেত্র প্রস্তুত করা

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

রিপোজিটরিটি ক্লোন করে আপনার ডেভেলপমেন্ট এনভায়রনমেন্টে খোলার জন্য:

  1. নিম্নলিখিত ইউআরএল-এ গিয়ে ক্লাউড শেল এডিটর খুলুন।

https://ide.cloud.google.com

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

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

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

cd sample-app && cloudshell workspace .

মিনিকিউব শুরু করুন

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

  1. টার্মিনালে, নিম্নলিখিত কমান্ডটি চালিয়ে minikube চালু করুন:

minikube start

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

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

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

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

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

এপিআই এক্সপ্লোরার:

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

ded1723c524edd72.png

গোপন ব্যবস্থাপক এক্সপ্লোরার:

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

89f88159bcf79fa9.png

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

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

a1d583fd06413011.png

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

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

b2b8ab3975c5b0c9.png

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

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

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

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

কমান্ড প্যালেট থেকে অতিরিক্ত কমান্ডগুলো পাওয়া যাবে। আপনি যে কমান্ডগুলো ব্যবহার করতে পারবেন, তার তালিকাটি পর্যালোচনা করুন।

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

৪. কুবারনেটিস ক্লাস্টারে স্থাপন করা

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

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

  1. Cloud Shell Editor-এর নিচের প্যানে, Cloud Code নির্বাচন করুন। d61e85cf23a32a40.png .
  2. উপরে প্রদর্শিত প্যানেলে, ‘Run on Kubernetes’ নির্বাচন করুন। অনুরোধ করা হলে, minikube Kubernetes context ব্যবহার করার জন্য ‘Yes’ নির্বাচন করুন।
  3. নিচের প্যানে আউটপুট ট্যাবটি নির্বাচন করুন 4866761cb9c691e2.png অগ্রগতি এবং বিজ্ঞপ্তি দেখতে
  4. ডানদিকের চ্যানেল ড্রপ-ডাউন থেকে 'Kubernetes: Run/Debug - Detailed' নির্বাচন করুন। c5e31091d464dbcf.png কন্টেইনারগুলি থেকে সরাসরি সম্প্রচারিত অতিরিক্ত বিবরণ এবং লগ দেখতে

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

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

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

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

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

৫. পরিবর্তনসমূহের হট রিলোডিং ব্যবহার করুন

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

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

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

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

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

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

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

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

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

এই ডিবাগ উদাহরণটির জন্য, আমরা কোডের পেজ কাউন্টার অংশটির উপর মনোযোগ দেব।

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

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

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

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

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