1. ওভারভিউ
কনটেইনার রেজিস্ট্রির বিবর্তন হিসাবে, আর্টিফ্যাক্ট রেজিস্ট্রি হল আপনার প্রতিষ্ঠানের কন্টেইনার ইমেজ এবং ভাষা প্যাকেজগুলি (যেমন Maven এবং npm) পরিচালনা করার জন্য একটি একক জায়গা। এটি Google ক্লাউডের টুলিং এবং রানটাইমগুলির সাথে সম্পূর্ণরূপে একত্রিত এবং npm এবং Maven এর মতো সরঞ্জামগুলির সাথে ব্যবহারের জন্য ভাষা ভিত্তিক নির্ভরতা পরিচালনার জন্য সমর্থন সহ আসে৷ এটি স্বয়ংক্রিয় পাইপলাইন সেট আপ করতে আপনার CI/CD টুলিংয়ের সাথে এটিকে একীভূত করা সহজ করে তোলে।
এই ল্যাবটি আপনাকে আর্টিফ্যাক্ট রেজিস্ট্রিতে উপলব্ধ কিছু বৈশিষ্ট্যের মাধ্যমে নিয়ে যাবে।
যা শিখবেন
এই ল্যাবের শেখার উদ্দেশ্য কি?
- ধারক এবং ভাষা প্যাকেজের জন্য সংগ্রহস্থল তৈরি করুন
- আর্টিফ্যাক্ট রেজিস্ট্রি দিয়ে কন্টেইনার ছবি পরিচালনা করুন
- ক্লাউড কোডের সাথে আর্টিফ্যাক্ট রেজিস্ট্রি সংহত করুন
- জাভা নির্ভরতার জন্য আর্টিফ্যাক্ট রেজিস্ট্রি ব্যবহার করতে Maven কনফিগার করুন
2. সেটআপ এবং প্রয়োজনীয়তা
স্ব-গতিসম্পন্ন পরিবেশ সেটআপ
- Google ক্লাউড কনসোলে সাইন-ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ আপনার যদি ইতিমধ্যেই একটি Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে।
- প্রকল্পের নাম এই প্রকল্পের অংশগ্রহণকারীদের জন্য প্রদর্শনের নাম। এটি একটি অক্ষর স্ট্রিং যা Google API দ্বারা ব্যবহৃত হয় না এবং আপনি যে কোনো সময় এটি আপডেট করতে পারেন।
- সমস্ত Google ক্লাউড প্রজেক্ট জুড়ে প্রোজেক্ট আইডি অবশ্যই অনন্য হতে হবে এবং অপরিবর্তনীয় (সেট করার পরে পরিবর্তন করা যাবে না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত আপনি এটা কি যত্ন না. বেশিরভাগ কোডল্যাবে, আপনাকে প্রজেক্ট আইডি উল্লেখ করতে হবে (এবং এটি সাধারণত
PROJECT_ID
হিসাবে চিহ্নিত করা হয়), তাই আপনি যদি এটি পছন্দ না করেন তবে অন্য একটি এলোমেলো তৈরি করুন, অথবা, আপনি নিজের চেষ্টা করে দেখতে পারেন এটি উপলব্ধ কিনা। তারপর প্রকল্প তৈরি হওয়ার পরে এটি "হিমায়িত" হয়। - একটি তৃতীয় মান আছে, একটি প্রকল্প নম্বর যা কিছু API ব্যবহার করে। ডকুমেন্টেশনে এই তিনটি মান সম্পর্কে আরও জানুন।
- এরপরে, ক্লাউড রিসোর্স/এপিআই ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে। এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ করা উচিত নয়, যদি কিছু থাকে। রিসোর্স বন্ধ করতে যাতে আপনি এই টিউটোরিয়ালের বাইরে বিলিং করতে না পারেন, কোডল্যাবের শেষে পাওয়া যেকোনো "ক্লিন-আপ" নির্দেশাবলী অনুসরণ করুন। Google ক্লাউডের নতুন ব্যবহারকারীরা $300 USD বিনামূল্যের ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷
gCloud সেট আপ করুন
ক্লাউড শেলে, আপনার প্রকল্প আইডি এবং প্রকল্প নম্বর সেট করুন। সেগুলিকে PROJECT_ID
এবং PROJECT_NUMBER
ভেরিয়েবল হিসাবে সংরক্ষণ করুন৷
export PROJECT_ID=$(gcloud config get-value project)
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
Google পরিষেবাগুলি সক্ষম করুন৷
gcloud services enable \
cloudresourcemanager.googleapis.com \
container.googleapis.com \
artifactregistry.googleapis.com \
containerregistry.googleapis.com \
containerscanning.googleapis.com
সোর্স কোড পান
এই ল্যাবের সোর্স কোডটি GitHub-এর GoogleCloudPlatform org-এ অবস্থিত। নীচের কমান্ড দিয়ে এটি ক্লোন করুন তারপর ডিরেক্টরিতে পরিবর্তন করুন।
git clone https://github.com/GoogleCloudPlatform/cloud-code-samples/
এই ল্যাবে ব্যবহৃত অবকাঠামোর ব্যবস্থা করুন
এই ল্যাবে আপনি GKE-তে কোড স্থাপন করবেন। নিচের সেটআপ স্ক্রিপ্টটি আপনার জন্য এই পরিকাঠামো প্রস্তুত করে।
gcloud container clusters create container-dev-cluster --zone=us-central1-b
3. ধারক ইমেজ সঙ্গে কাজ
আর্টিফ্যাক্ট রেজিস্ট্রিতে একটি ডকার সংগ্রহস্থল তৈরি করুন
আর্টিফ্যাক্ট রেজিস্ট্রি কনটেইনার ইমেজ এবং ভাষা প্যাকেজ পরিচালনা সমর্থন করে। বিভিন্ন আর্টিফ্যাক্ট ধরনের বিভিন্ন স্পেসিফিকেশন প্রয়োজন. উদাহরণস্বরূপ ম্যাভেন নির্ভরতার জন্য অনুরোধ নোড নির্ভরতার জন্য অনুরোধ থেকে ভিন্ন।
বিভিন্ন API স্পেসিফিকেশন সমর্থন করার জন্য, আর্টিফ্যাক্ট রেজিস্ট্রি জানতে হবে আপনি API প্রতিক্রিয়াগুলি অনুসরণ করতে চান এমন বিন্যাস। এটি করার জন্য আপনি একটি সংগ্রহস্থল তৈরি করবেন এবং পছন্দসই সংগ্রহস্থলের ধরন নির্দেশ করে --repository-format
পতাকায় পাস করবেন।
ক্লাউড শেল থেকে ডকার চিত্রগুলির জন্য একটি সংগ্রহস্থল তৈরি করতে নিম্নলিখিত কমান্ডটি চালান:
gcloud artifacts repositories create container-dev-repo --repository-format=docker \
--location=us-central1 --description="Docker repository for Container Dev Workshop"
ক্লাউড শেল অনুমোদন প্রম্পট প্রদর্শিত হলে অনুমোদন ক্লিক করুন
Google ক্লাউড কনসোলে যান - আর্টিফ্যাক্ট রেজিস্ট্রি - রিপোজিটরি এবং আপনার সদ্য তৈরি করা ডকার রিপোজিটরিটি container-dev-repo
নামক লক্ষ্য করুন, যদি আপনি এটিতে ক্লিক করেন তবে আপনি দেখতে পাবেন যে এটি এই মুহূর্তে খালি
আর্টিফ্যাক্ট রেজিস্ট্রিতে ডকার প্রমাণীকরণ কনফিগার করুন
আর্টিফ্যাক্ট রেজিস্ট্রি শংসাপত্র সংযোগ করার সময় অ্যাক্সেস প্রদান করার জন্য প্রয়োজন হয়. পৃথক শংসাপত্র সেট আপ করার পরিবর্তে, ডকারকে আপনার জিক্লাউড শংসাপত্রগুলি নির্বিঘ্নে ব্যবহার করার জন্য কনফিগার করা যেতে পারে।
ক্লাউড শেল থেকে us-central1
অঞ্চলে আর্টিফ্যাক্ট রেজিস্ট্রির অনুরোধগুলি প্রমাণীকরণের জন্য Google ক্লাউড CLI ব্যবহার করতে ডকারকে কনফিগার করতে নিম্নলিখিত কমান্ডটি চালান,
gcloud auth configure-docker us-central1-docker.pkg.dev
কমান্ডটি ক্লাউড শেল ডকার কনফিগারেশন পরিবর্তন করার জন্য নিশ্চিতকরণের জন্য অনুরোধ করবে, এন্টার টিপুন।
নমুনা অ্যাপ্লিকেশন অন্বেষণ
আপনি আগের ধাপে ক্লোন করা গিট রিপোজিটরিতে একটি নমুনা অ্যাপ্লিকেশন সরবরাহ করা হয়েছে। জাভা ডিরেক্টরিতে পরিবর্তন করুন এবং অ্যাপ্লিকেশন কোড পর্যালোচনা করুন।
cd cloud-code-samples/java/java-hello-world
ফোল্ডারটিতে একটি উদাহরণ জাভা অ্যাপ্লিকেশন রয়েছে যা একটি সাধারণ ওয়েব পৃষ্ঠা রেন্ডার করে: এই নির্দিষ্ট ল্যাবের জন্য প্রাসঙ্গিক নয় এমন বিভিন্ন ফাইল ছাড়াও, এতে সোর্স কোড রয়েছে, src
ফোল্ডারের নীচে, এবং একটি ডকারফাইল যা আমরা স্থানীয়ভাবে একটি ধারক চিত্র তৈরি করতে ব্যবহার করব।
কন্টেইনার ইমেজ তৈরি করুন
আর্টিফ্যাক্ট রেজিস্ট্রিতে কন্টেইনার ইমেজ সংরক্ষণ করার আগে আপনাকে একটি তৈরি করতে হবে।
কন্টেইনার ইমেজ তৈরি করতে নিম্নলিখিত কমান্ডটি চালান এবং পরবর্তী ধাপে এটিকে আপনার সংগ্রহস্থলে পুশ করতে সঠিকভাবে ট্যাগ করুন:
docker build -t us-central1-docker.pkg.dev/$PROJECT_ID/container-dev-repo/java-hello-world:tag1 .
কন্টেইনার ইমেজটিকে আর্টিফ্যাক্ট রেজিস্ট্রিতে পুশ করুন
পূর্বে তৈরি করা সংগ্রহস্থলে ধারক চিত্রটি পুশ করতে নিম্নলিখিত কমান্ডটি চালান:
docker push us-central1-docker.pkg.dev/$PROJECT_ID/container-dev-repo/java-hello-world:tag1
আর্টিফ্যাক্ট রেজিস্ট্রিতে চিত্রটি পর্যালোচনা করুন
Google ক্লাউড কনসোলে যান - আর্টিফ্যাক্ট রেজিস্ট্রি - সংগ্রহস্থল .
container-dev-repo
ক্লিক করুন এবং java-hello-world
ইমেজ আছে কিনা তা পরীক্ষা করুন। ছবিতে ক্লিক করুন এবং tag1
ট্যাগ করা ছবিটি নোট করুন। আপনি দেখতে পাচ্ছেন যে দুর্বলতা স্ক্যানিং চলছে বা ইতিমধ্যে সম্পন্ন হয়েছে এবং সনাক্ত করা দুর্বলতার সংখ্যা দৃশ্যমান।
দুর্বলতার সংখ্যার উপর ক্লিক করুন এবং আপনি চিত্রে সনাক্ত করা দুর্বলতার তালিকা দেখতে পাবেন, CVE বুলেটিন নাম এবং তীব্রতা সহ, আপনি আরও বিশদ বিবরণ পেতে প্রতিটি তালিকাভুক্ত দুর্বলতার উপর ভিউ ক্লিক করতে পারেন:
4. ক্লাউড কোডের সাথে ইন্টিগ্রেশন
এই বিভাগে আপনি দেখতে পাবেন কিভাবে ক্লাউড কোড সহ আর্টিফ্যাক্ট রেজিস্ট্রি ডকার ইমেজ রিপোজিটরি ব্যবহার করবেন।
ক্লাউড কোড থেকে GKE ক্লাস্টারে অ্যাপ্লিকেশনটি স্থাপন করুন
ক্লাউড শেল এডিটর খুলতে java-hello-world
ফোল্ডার থেকে নিম্নলিখিত কমান্ডটি চালান এবং তার কর্মক্ষেত্রে অ্যাপ্লিকেশন ফোল্ডার যোগ করুন:
cloudshell workspace .
ক্লাউড শেল সম্পাদকটি অ্যাপ্লিকেশন ফোল্ডারে এক্সপ্লোরারের সাথে খুলবে।
আপনি যদি ওয়ার্কস্পেস থেকে জাভা প্রজেক্ট সেটিংস ফাইলগুলিকে বাদ দেওয়ার জন্য একটি পপ-আপ পান, Exclude in workspace
এ ক্লিক করুন
নিম্নলিখিত পদক্ষেপগুলির জন্য আপনাকে আপনার আর্টিফ্যাক্ট রেজিস্ট্রি সংগ্রহস্থলের অবস্থান প্রবেশ করতে হবে। অবস্থানের বিন্যাস হল:
us-central1-docker.pkg.dev/<PROJECT_ID>/container-dev-repo
আপনার PROJECT_ID খুঁজে পেতে টার্মিনালে নিম্নলিখিত কমান্ডটি চালান
gcloud config get project
ক্লাউড কোড স্ট্যাটাস বারে ক্লিক করুন (নীচের বাম কোণে) এবং তারপরে Run on Kubernetes
নির্বাচন করুন
প্রম্পট করা হলে kubeconfig-এ বর্তমান প্রসঙ্গ ব্যবহার করতে Yes
বেছে নিন যা ল্যাবের জন্য প্রবিধান করা container-dev-cluster
GKE ক্লাস্টারকে নির্দেশ করে
ইমেজ রেজিস্ট্রির জন্য প্রম্পটে আপনার প্রকৃত মানের জন্য <PROJECT_ID> প্রতিস্থাপন নিশ্চিত করার আগে আপনি যে ঠিকানার অবস্থান করেছেন তা রাখুন
us-central1-docker.pkg.dev/<PROJECT_ID>/container-dev-repo
আপনি যখন প্রথমবার কুবারনেটে রান চালান তখন ক্লাউড কোড আপনাকে টার্গেট ইমেজ রিপোজিটরি অবস্থানের জন্য অনুরোধ করে। একবার প্রদান করা হলে, সংগ্রহস্থলের url ফাইলটি .vscode/launch.json
ফাইলে সংরক্ষণ করা হয় যা অ্যাপ্লিকেশন ফোল্ডারে তৈরি করা হয়।
আউটপুট প্যানে আপনি দেখতে পাচ্ছেন যে অ্যাপ্লিকেশন ইমেজ java-hello-world,
ছবিটি পূর্বে কনফিগার করা আর্টিফ্যাক্ট রেজিস্ট্রি রিপোজিটরিতে আপলোড করা হয়েছে
ক্লাউড কনসোলে যান - আর্টিফ্যাক্ট রেজিস্ট্রি - রিপোজিটরি container-dev-repo
ক্লিক করুন এবং java-hello-world
ইমেজ দেখে নিন এবং latest
ট্যাগ করা একটি নতুন ছবি নোট করুন
নিয়োজিত আবেদন পর্যালোচনা করুন
ক্লাউড শেল এডিটরে ফিরে যান: যখন স্থাপনা সম্পূর্ণ হবে তখন Skaffold/Cloud কোড প্রকাশ করা ইউআরএলটি মুদ্রণ করবে যেখানে পরিষেবাটি ফরোয়ার্ড করা হয়েছে, লিঙ্কটিতে ক্লিক করুন - ওয়েব প্রিভিউ খুলুন:
নতুন ব্রাউজার উইন্ডোতে আপনি হ্যালো ওয়ার্ল্ড অ্যাপ পেজ দেখতে পাবেন
অ্যাপ্লিকেশন কোড আপডেট করুন
ক্লাস্টারে স্থাপনায় অবিলম্বে পরিবর্তনটি বাস্তবায়িত দেখতে অ্যাপ্লিকেশনটি আপডেট করুন:
ক্লাউড শেল এডিটরে src/main/java/cloudcode/helloworld/web
ফোল্ডারে HelloWorldController.java
খুলুন।
"এটি চলছে!" থেকে 20 সারিতে পাঠ্য পরিবর্তন করুন ""এটি আপডেট করা হয়েছে!", আপনি অবিলম্বে শুরু হওয়া বিল্ড এবং স্থাপন প্রক্রিয়া দেখতে পাবেন।
ডিপ্লোয় শেষে ফরোয়ার্ড করা ইউআরএলে আবার ক্লিক করুন বা আপনার পরিবর্তন ডিপ্লয় করা হয়েছে দেখতে অ্যাপ্লিকেশন সহ ব্রাউজার উইন্ডো রিফ্রেশ করুন:
আবার ক্লাউড কনসোলে যান - আর্টিফ্যাক্ট রেজিস্ট্রি - রিপোজিটরি container-dev-repo
ক্লিক করুন এবং চেক করুন যে java-hello-world
ইমেজ এবং নতুন ছবিটি নোট করুন
5. ভাষা প্যাকেজ নিয়ে কাজ করা
এই বিভাগে আপনি দেখতে পাবেন কিভাবে একটি আর্টিফ্যাক্ট রেজিস্ট্রি জাভা রিপোজিটরি সেট আপ করতে হয় এবং এতে প্যাকেজগুলি আপলোড করতে হয়, বিভিন্ন অ্যাপ্লিকেশনে সেগুলি ব্যবহার করে।
একটি জাভা প্যাকেজ সংগ্রহস্থল তৈরি করুন
ক্লাউড শেল থেকে জাভা আর্টিফ্যাক্টগুলির জন্য একটি সংগ্রহস্থল তৈরি করতে নিম্নলিখিত কমান্ডটি চালান:
gcloud artifacts repositories create container-dev-java-repo \
--repository-format=maven \
--location=us-central1 \
--description="Java package repository for Container Dev Workshop"
ক্লাউড শেল অনুমোদন প্রম্পট প্রদর্শিত হলে অনুমোদন ক্লিক করুন
Google ক্লাউড কনসোলে যান - আর্টিফ্যাক্ট রেজিস্ট্রি - রিপোজিটরি এবং আপনার সদ্য নির্মিত Maven সংগ্রহস্থলটি খেয়াল করুন যার নাম container-dev-java-repo
, যদি আপনি এটিতে ক্লিক করেন তবে আপনি দেখতে পাবেন যে এটি এই মুহূর্তে খালি।
আর্টিফ্যাক্ট রিপোজিটরিতে প্রমাণীকরণ সেট আপ করুন
আপনার ব্যবহারকারীর অ্যাকাউন্টের শংসাপত্রগুলির সাথে অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র (ADC) এর জন্য সুপরিচিত অবস্থান আপডেট করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন যাতে আর্টিফ্যাক্ট রেজিস্ট্রি শংসাপত্রের সাহায্যকারী সংগ্রহস্থলগুলির সাথে সংযোগ করার সময় তাদের ব্যবহার করে প্রমাণীকরণ করতে পারে:
gcloud auth login --update-adc
আর্টিফ্যাক্ট রেজিস্ট্রির জন্য Maven কনফিগার করুন
আপনার জাভা প্রকল্পে যোগ করতে সংগ্রহস্থল কনফিগারেশন মুদ্রণ করতে নিম্নলিখিত কমান্ডটি চালান:
gcloud artifacts print-settings mvn \
--repository=container-dev-java-repo \
--location=us-central1
ক্লাউড শেল এডিটরে pom.xml খুলুন এবং ফাইলের উপযুক্ত বিভাগে ফিরে আসা সেটিংস যোগ করুন,
ডিস্ট্রিবিউশন ম্যানেজমেন্ট বিভাগ আপডেট করুন
<distributionManagement>
<snapshotRepository>
<id>artifact-registry</id>
<url>artifactregistry://us-central1-maven.pkg.dev/<PROJECT>/container-dev-java-repo</url>
</snapshotRepository>
<repository>
<id>artifact-registry</id>
<url>artifactregistry://us-central1-maven.pkg.dev/<PROJECT>/container-dev-java-repo</url>
</repository>
</distributionManagement>
সংগ্রহস্থল বিভাগ আপডেট করুন
<repositories>
<repository>
<id>artifact-registry</id>
<url>artifactregistry://us-central1-maven.pkg.dev/<PROJECT>/container-dev-java-repo</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
এক্সটেনশন আপডেট করুন
<extensions>
<extension>
<groupId>com.google.cloud.artifactregistry</groupId>
<artifactId>artifactregistry-maven-wagon</artifactId>
<version>2.1.0</version>
</extension>
</extensions>
এখানে আপনার রেফারেন্সের জন্য সম্পূর্ণ ফাইলের একটি উদাহরণ। আপনার প্রজেক্ট আইডি দিয়ে <PROJECT> প্রতিস্থাপন করা নিশ্চিত করুন।
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>hello-world</artifactId>
<packaging>jar</packaging>
<name>Cloud Code Hello World</name>
<description>Getting started with Cloud Code</description>
<version>1.0.0</version>
<distributionManagement>
<snapshotRepository>
<id>artifact-registry</id>
<url>artifactregistry://us-central1-maven.pkg.dev/<PROJECT>/container-dev-java-repo</url>
</snapshotRepository>
<repository>
<id>artifact-registry</id>
<url>artifactregistry://us-central1-maven.pkg.dev/<PROJECT>/container-dev-java-repo</url>
</repository>
</distributionManagement>
<repositories>
<repository>
<id>artifact-registry</id>
<url>artifactregistry://us-central1-maven.pkg.dev/<PROJECT>/container-dev-java-repo</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.3</version>
</parent>
<properties>
<java.version>1.8</java.version>
<checkstyle.config.location>./checkstyle.xml</checkstyle.config.location>
</properties>
<build>
<plugins>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.1.2</version>
</plugin>
</plugins>
<extensions>
<extension>
<groupId>com.google.cloud.artifactregistry</groupId>
<artifactId>artifactregistry-maven-wagon</artifactId>
<version>2.1.0</version>
</extension>
</extensions>
</build>
<!-- The Spring Cloud GCP BOM will manage spring-cloud-gcp version numbers for you. -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-gcp-dependencies</artifactId>
<version>1.2.8.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-gcp-starter-logging</artifactId>
</dependency>
</dependencies>
</project>
আপনার জাভা প্যাকেজটি আর্টিফ্যাক্ট রেজিস্ট্রিতে আপলোড করুন
ম্যাভেনে কনফিগার করা আর্টিফ্যাক্ট রেজিস্ট্রি সহ, আপনি এখন আপনার প্রতিষ্ঠানের অন্যান্য প্রকল্পগুলির দ্বারা ব্যবহারের জন্য জাভা জার সংরক্ষণ করতে আর্টিফ্যাক্ট রেজিস্ট্রি ব্যবহার করতে পারেন।
আর্টিফ্যাক্ট রেজিস্ট্রিতে আপনার জাভা প্যাকেজ আপলোড করতে নিম্নলিখিত কমান্ডটি চালান:
mvn deploy
আর্টিফ্যাক্ট রেজিস্ট্রিতে জাভা প্যাকেজটি পরীক্ষা করুন
ক্লাউড কনসোলে যান - আর্টিফ্যাক্ট রেজিস্ট্রি - রিপোজিটরি container-dev-java-repo
ক্লিক করুন এবং hello-world
বাইনারি আর্টিফ্যাক্ট আছে কিনা তা পরীক্ষা করুন:
6. অভিনন্দন!
অভিনন্দন, আপনি কোডল্যাব শেষ করেছেন!
আপনি কভার করেছেন কি
- কনটেইনার এবং ভাষা প্যাকেজের জন্য সংগ্রহস্থল তৈরি করা হয়েছে
- আর্টিফ্যাক্ট রেজিস্ট্রি সহ পরিচালিত কন্টেইনার চিত্রগুলি
- ক্লাউড কোড সহ ইন্টিগ্রেটেড আর্টিফ্যাক্ট রেজিস্ট্রি
- জাভা নির্ভরতার জন্য আর্টিফ্যাক্ট রেজিস্ট্রি ব্যবহার করার জন্য Maven কনফিগার করা হয়েছে
ক্লিনআপ
প্রকল্পটি মুছে ফেলার জন্য নিম্নলিখিত কমান্ডটি চালান
gcloud projects delete $PROJECT_ID