১. ভূমিকা
এই কোডল্যাবে, আপনি Gemini CLI এবং CI/CD এক্সটেনশন ব্যবহার করে প্ল্যাটফর্ম ইঞ্জিনিয়ারিংয়ের 'জিরো-টু-হিরো' ওয়ার্কফ্লোর অভিজ্ঞতা লাভ করবেন। আপনি একজন এন্টারপ্রাইজ ডেভেলপারের ভূমিকা পালন করবেন, যিনি একটি অ্যাপ্লিকেশন (যেমন Spring Petclinic ডেমো বা একটি Python Flask অ্যাপ) তৈরি করেছেন এবং এখন সেটি শেয়ার করার জন্য Google Cloud-এ ডেপ্লয় করতে চান।
জটিল পাইপলাইন ম্যানুয়ালি কনফিগার করার পরিবর্তে, আপনি স্বাভাবিক ভাষা ব্যবহার করে জেমিনিকে পরিচালনা করবেন। এজেন্টটি আপনার প্রজেক্ট বিশ্লেষণ করবে, গুগল ক্লাউড রান -এর মতো ছোট আকারের টার্গেট রানটাইম সাজেস্ট করবে, ফাঁস হওয়া সিক্রেটের জন্য সিকিউরিটি স্ক্যান করবে এবং ডেপ্লয়মেন্ট পরিচালনা করে আপনাকে একটি কার্যকরী ইউআরএল প্রদান করবে।
আপনি যা করবেন
- একটি রিপোজিটরি ক্লোন করুন (আপনি আপনার নিজের অথবা Spring Petclinic-এর মতো কোনো ডেমো অ্যাপ ব্যবহার করতে পারেন)।
- Gemini CLI এবং CI/CD এক্সটেনশনটি ইনস্টল ও কনফিগার করুন।
- ডিপ্লয়মেন্ট স্কিলটি চালু করতে
deploy my applicationএর মতো একটি প্রম্পট ব্যবহার করুন। - দেখুন কীভাবে জেমিনি প্রকল্পটি বিশ্লেষণ করে, ক্লাউড রান ব্যবহারের পরামর্শ দেয়, নিরাপত্তা যাচাই চালায় এবং অ্যাপ্লিকেশনটি স্থাপন করে।
- চলমান অ্যাপ্লিকেশনটি যাচাই করুন।
আপনার যা যা লাগবে
- ক্রোমের মতো একটি ওয়েব ব্রাউজার।
- বিলিং সক্ষম একটি গুগল ক্লাউড প্রজেক্ট।
এই কোডল্যাবটি নতুনদের সহ সকল স্তরের ডেভেলপারদের জন্য।
২. শুরু করার আগে
বিলিং সেটআপ
একটি গুগল ক্লাউড প্রজেক্ট তৈরি করুন বা নির্বাচন করুন
একটি গুগল ক্লাউড প্রজেক্ট তৈরি করুন
- গুগল ক্লাউড কনসোলের প্রজেক্ট সিলেক্টর পেজে, একটি গুগল ক্লাউড প্রজেক্ট নির্বাচন করুন বা তৈরি করুন ।
- আপনার ক্লাউড প্রোজেক্টের জন্য বিলিং চালু আছে কিনা তা নিশ্চিত করুন। কোনো প্রোজেক্টে বিলিং চালু আছে কিনা তা কীভাবে পরীক্ষা করবেন, তা জেনে নিন।
ক্লাউড শেল শুরু করুন
ক্লাউড শেল হলো গুগল ক্লাউডে চালিত একটি কমান্ড-লাইন পরিবেশ, যা প্রয়োজনীয় টুলস সহ আগে থেকেই লোড করা থাকে।
- Google Cloud কনসোলের শীর্ষে থাকা Activate Cloud Shell-এ ক্লিক করুন।
- ক্লাউড শেলে সংযুক্ত হওয়ার পর, আপনার প্রমাণীকরণ যাচাই করুন:
gcloud auth list - আপনার প্রজেক্টটি কনফিগার করা হয়েছে কিনা তা নিশ্চিত করুন:
gcloud config get project - আপনার প্রজেক্টটি প্রত্যাশা অনুযায়ী সেট করা না থাকলে, এটি সেট করুন:
export PROJECT_ID=<YOUR_PROJECT_ID> gcloud config set project $PROJECT_ID
এপিআই সক্ষম করুন
এই ল্যাবের জন্য প্রয়োজনীয় সমস্ত API সক্রিয় করতে ক্লাউড শেলে এই কমান্ডটি চালান:
gcloud services enable \ cloudbuild.googleapis.com \ run.googleapis.com \ artifactregistry.googleapis.com
৩. জেমিনি সিএলআই সেটআপ করুন
এই ধাপে, আপনি Gemini CLI এবং CI/CD এক্সটেনশনটি ইনস্টল ও কনফিগার করবেন।
- Gemini CLI ইনস্টল করা আছে কিনা তা নিশ্চিত করুন । যদি এখনও এটি ইনস্টল না করে থাকেন, তাহলে Gemini CLI Getting Started Guide- এর নির্দেশাবলী অনুসরণ করুন।
- সাইন ইন করুন : আমরা আপনার গুগল অ্যাকাউন্ট দিয়ে সাইন ইন করার পরামর্শ দিচ্ছি। বিস্তারিত জানতে প্রমাণীকরণ নির্দেশিকা দেখুন।
- CI/CD এক্সটেনশনটি ইনস্টল করুন : GitHub থেকে এক্সটেনশনটি ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান:
ইনস্টল করা এক্সটেনশনগুলির তালিকা দেখে আপনি এক্সটেনশন ইনস্টলেশন যাচাই করতে পারেন:gemini extensions install https://github.com/gemini-cli-extensions/cicd
gemini extensions list
- অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল (ADC) কনফিগার করুন : CI/CD এক্সটেনশনটির জন্য ADC কনফিগার করা প্রয়োজন। চালান:
gcloud auth login gcloud auth application-default login
- ডিফল্ট প্রজেক্ট এবং অঞ্চল সেট করুন : ADC-এর জন্য একটি ডিফল্ট প্রজেক্ট এবং কোটা প্রজেক্ট দিয়ে
gcloudকনফিগার করা থাকলে তা সহায়ক হয়। প্রতিস্থাপন করুনআপনার প্রকৃত মানগুলো দিয়ে (যেমন,my-project):gcloud config set project <PROJECT_ID> gcloud auth application-default set-quota-project <PROJECT_ID>
৪. অ্যাপ্লিকেশনটি স্থাপন করুন
এখন আপনি অ্যাপ্লিকেশনটি ডেপ্লয় করার জন্য Gemini CLI এবং CI/CD এক্সটেনশন ব্যবহার করতে প্রস্তুত।
রিপোজিটরি ক্লোন করুন
এই ল্যাবে আমরা জনপ্রিয় Spring Petclinic স্যাম্পল অ্যাপ্লিকেশনটি ব্যবহার করব। আপনার নিজের কোনো অ্যাপ্লিকেশন তৈরি থাকলে, যা কোনো সমর্থিত রানটাইম (যেমন Python/Flask, Java/Spring Boot, ইত্যাদি) ব্যবহার করে, সেটিও আপনি ব্যবহার করতে পারেন।
- রিপোজিটরিটি ক্লোন করুন এবং ডিরেক্টরিতে প্রবেশ করুন:
git clone https://github.com/spring-projects/spring-petclinic.git cd spring-petclinic
মিথুন রাশিকে মোতায়েন করতে নির্দেশ দিন
- প্রজেক্ট ডিরেক্টরি থেকে Gemini CLI চালু করুন:
gemini
- একবার Gemini CLI শেলের ভিতরে প্রবেশ করলে, আপনার অ্যাপ্লিকেশনটি ডিপ্লয় করতে CI/CD এক্সটেনশনটি ব্যবহার করুন। আপনি একটি সহজ স্বাভাবিক ভাষার প্রম্পট ব্যবহার করতে পারেন:
deploy my application
এরপর কী হবে
জেমিনি google-cicd-deploy স্কিলটি সক্রিয় করবে এবং কয়েকটি কাজ সম্পাদন করবে:
- প্রকল্পটি বিশ্লেষণ করুন : এটি অ্যাপ্লিকেশনের ধরন শনাক্ত করবে (যেমন, Spring Boot)।
- রানটাইম সাজেস্ট করুন : এটি একটি উপযুক্ত রানটাইম সাজেস্ট করবে, যেমন গুগল ক্লাউড রান ।
- নিরাপত্তা স্ক্যান : এটি এমসিপি টুল ব্যবহার করে ফাঁস হওয়া গোপনীয় তথ্যের জন্য স্ক্যান করবে। অনুরোধ করা হলে টুলগুলো চালানোর অনুমতি দিতে হবে।
- কনফিগারেশন সংগ্রহ করুন : এটি আপনার বর্তমান প্রোজেক্ট এনভায়রনমেন্ট পড়ার জন্য
gcloudব্যবহার করবে। - প্যারামিটার প্রস্তাব করুন : এটি ডেপ্লয়মেন্ট প্যারামিটারগুলির জন্য যুক্তিসঙ্গত ডিফল্ট মান উপস্থাপন করবে এবং আপনার নিশ্চিতকরণ চাইবে।
প্রস্তাবিত কনফিগারেশনটি পর্যালোচনা করুন এবং স্থাপন নিশ্চিত করুন।
একবার সম্পন্ন হলে, জেমিনি আপনাকে আপনার চলমান অ্যাপ্লিকেশনটির ইউআরএল (URL) প্রদান করবে।
৫. পরিষ্কার করুন
আপনার গুগল ক্লাউড অ্যাকাউন্টে চলমান চার্জ এড়াতে, এই কোডল্যাব চলাকালীন তৈরি করা রিসোর্সগুলো মুছে ফেলুন।
আপনি যদি ক্লাউড রান-এ ডেপ্লয় করে থাকেন, তাহলে নিম্নলিখিত কমান্ডটি ব্যবহার করে সার্ভিসটি ডিলিট করতে পারেন (প্রতিস্থাপন করুন) আপনার কম্পিউটার অঞ্চল সহ (যেমন, us-central1 ):
gcloud run services delete spring-petclinic --region <REGION>
বিকল্পভাবে, যদি আপনি এই কোডল্যাবের জন্য একটি ডেডিকেটেড প্রজেক্ট তৈরি করে থাকেন, তাহলে আপনি পুরো প্রজেক্টটি ডিলিট করে দিতে পারেন:
gcloud projects delete <YOUR_PROJECT_ID>
৬. অভিনন্দন
অভিনন্দন! আপনি সফলভাবে Gemini CLI এবং CI/CD এক্সটেনশন ব্যবহার করে স্বাভাবিক ভাষার নির্দেশনার সাহায্যে Google Cloud Run-এ একটি অ্যাপ্লিকেশন ডেপ্লয় করেছেন।
আপনি যা শিখেছেন
- Gemini CLI এবং CI/CD এক্সটেনশন কীভাবে ইনস্টল ও কনফিগার করবেন।
- ডেপ্লয়মেন্ট ফ্লো চালু করতে স্বাভাবিক ভাষা কীভাবে ব্যবহার করবেন
- জেমিনি কীভাবে আপনার প্রজেক্ট বিশ্লেষণ করে, নিরাপত্তা স্ক্যান পরিচালনা করে এবং রানটাইম সাজেস্ট করে।
পরবর্তী পদক্ষেপ
- CI/CD এক্সটেনশনের মাধ্যমে আরও উন্নত নির্দেশাবলী অন্বেষণ করুন, যেমন সম্পূর্ণ পাইপলাইন ডিজাইন করা বা টেরাফর্ম জেনারেট করা।
- CI/CD এক্সটেনশনটি দেখুন।
- ডেভেলপার কানেক্ট সম্পর্কে আরও জানুন।