BuildKit: Docker ৰ লুকাই থকা ৰত্ন যিয়ে প্ৰায় যিকোনো বস্তু নিৰ্মাণ কৰিব পাৰে
মন্তব্য
Mewayz Team
Editorial Team
BuildKit: Docker ৰ লুকাই থকা ৰত্ন যিয়ে প্ৰায় যিকোনো বস্তু নিৰ্মাণ কৰিব পাৰে
বেছিভাগ ডেভেলপাৰে Docker ক কণ্টেইনাৰ চলনসময় হিচাপে জানে যিয়ে চফ্টৱেৰ কেনেকৈ প্ৰেৰণ কৰা হয় সলনি কৰে। ইঞ্জিনটোৱে প্ৰতিটো আধুনিক ডকাৰ নিৰ্মাণৰ পৃষ্ঠৰ তলত নিৰৱে গুঞ্জৰিত হোৱাৰ বিষয়ে বহুত কমেইহে জানে — বিল্ডকিট, পৰৱৰ্তী প্ৰজন্মৰ নিৰ্মাণ ব্যৱস্থাপ্ৰণালী যি ডকাৰৰ সৈতে সংস্কৰণ ১৮.০৯ৰ পৰা প্ৰেৰণ কৰা হৈছে আৰু ডকাৰ ২৩.০ ত অবিকল্পিত বেকএণ্ড হৈ পৰিছে। অভিযন্তাসকলে Kubernetes সংৰূপসমূহ আৰু মাইক্ৰ'চাৰ্ভিচ আৰ্হিসমূহৰ বিষয়ে অন্তহীনভাৱে তৰ্ক কৰাৰ সময়ত, BuildKit এ DevOps পৰিৱেশতন্ত্ৰৰ এটা আটাইতকৈ শক্তিশালী, নমনীয় নিৰ্মাণ ব্যৱস্থাপ্ৰণালীলৈ অবিৰতভাৱে বিকশিত হৈ আহিছে। যদি আপুনি ইয়াক কেৱল এটা দ্ৰুত docker build হিচাপে গণ্য কৰি আহিছে, আপুনি টেবুলত বিশাল ক্ষমতা এৰিছে। হাই-থ্ৰুপুট চিআই/চিডি পাইপলাইন চলোৱা কোম্পানীসমূহে কেৱল বিল্ডকিটে প্ৰকৃততে কি প্ৰদান কৰে সেয়া বুজিলেই নিৰ্মাণৰ সময় ৫০–৭০% কৰ্তন কৰিছে — আৰু সেয়া মাত্ৰ আৰম্ভণিহে।
বিল্ডকিটক ক্লাছিক বিল্ডাৰৰ পৰা মৌলিকভাৱে পৃথক কিহৰ বাবে
মূল Docker বিল্ড ইঞ্জিনে Dockerfile নিৰ্দেশসমূহ ক্ৰমাগতভাৱে এক্সিকিউট কৰিছিল, এটা এটা স্তৰত, সমান্তৰালভাৱে কি কাম নিৰাপদে হ'ব পাৰে তাৰ কোনো সচেতনতা নোহোৱাকৈ। BuildKit এ সেই ৰৈখিক নিষ্পাদন আৰ্হিক এটা নিৰ্দেশিত অচক্ৰীয় গ্ৰাফ (DAG) ৰ সৈতে সলনি কৰে — এটা নিৰ্ভৰশীলতা গ্ৰাফ যি বুজি পায় কোনবোৰ নিৰ্মাণ পদক্ষেপ ইটোৱে সিটোৰ ওপৰত নিৰ্ভৰ কৰে আৰু কোনবোৰ নহয়। স্বতন্ত্ৰ পৰ্যায়সমূহে সমান্তৰালভাৱে এক্সিকিউট কৰে, অব্যৱহৃত পৰ্যায়সমূহ সম্পূৰ্ণৰূপে এৰি দিয়া হয়, আৰু সমগ্ৰ বিল্ডটো আপুনি সঠিক ক্ৰমত আবৃত্তি কৰিবলগীয়া পদক্ষেপসমূহৰ এটা আৱশ্যকীয় ক্ৰমৰ পৰিৱৰ্তে আপুনি বিচৰাৰ এটা ঘোষণামূলক বিৱৰণ হৈ পৰে।
এই স্থাপত্য পৰিৱৰ্তনৰ ব্যৱহাৰিক পৰিণতি আছে যিবোৰ গতিৰ বাহিৰলৈ যায়। যেতিয়া এটা বহু-পৰ্যায় Dockerfile এ এটা Go বাইনাৰী এটা পৰ্যায়ত কম্পাইল কৰে, Node.js নিৰ্ভৰশীলতাসমূহ আন এটাত ডাউনল'ড কৰে, আৰু এটা তৃতীয়ত এটা উৎপাদন প্ৰতিমুৰ্তি একত্ৰিত কৰে, BuildKit এ প্ৰথম দুটা পৰ্যায় একেলগে চলাব পাৰে। পূৰ্বে এজন শক্তিশালী চি আই দৌৰবিদৰ ওপৰত চাৰি মিনিট সময় লোৱা এটা বিল্ড এতিয়া নব্বৈ ছেকেণ্ডৰ ভিতৰতে সম্পূৰ্ণ হয়। ষ্ট্ৰাইপ, শ্বপিফাই, আৰু অন্যান্য উচ্চ-মাপৰ অভিযান্ত্ৰিক দলৰ স্ক'ৰে তেওঁলোকৰ আভ্যন্তৰীণ সঁজুলিৰ পুৰ্বদৃষ্টিভংগীত একেধৰণৰ লাভৰ নথিভুক্ত কৰিছে। DAG মডেলৰ অৰ্থ এইটোও যে বিল্ডকিটে অতি সঠিক বিল্ড মেটাডাটা সৃষ্টি কৰিব পাৰে — প্ৰভেনেন্স এটেষ্টেচন আৰু চফ্টৱেৰ বিল অৱ মেটেৰিয়েলছ (SBOM) প্ৰজন্মৰ দৰে বৈশিষ্ট্যসমূহৰ বাবে এটা ভেটি যি যোগান শৃংখল সুৰক্ষাৰ বাবে অতি গুৰুত্বপূৰ্ণ।
কেশ্ব অবৈধকৰণ কেনেকৈ কাম কৰে তাৰ এটা ধাৰণাগত পৰিৱৰ্তনও হৈছে। ক্লাছিক বিল্ডাৰে যিকোনো পৰিৱৰ্তিত নিৰ্দেশনাৰ তলৰ প্ৰতিটো স্তৰক অবৈধ কৰি পেলাইছিল। BuildKit এ প্ৰতিটো ইনপুটত বিষয়বস্তু হেচসমূহ অনুসৰণ কৰে, গতিকে এটা Dockerfile ত এটা মন্তব্য সলনি কৰিলে এটা কেশ্ব প্ৰৱেশ উৰুৱাই নিদিয়ে যি ত্ৰিশ মিনিটৰ কমপাইলেচনক প্ৰতিনিধিত্ব কৰে। যেতিয়া আপোনাৰ নিৰ্মাণ কেশ্ব আপোনাৰ অভিযান্ত্ৰিক দলৰ বাবে পাঁচ মিনিট আৰু চল্লিশ মিনিটৰ প্ৰতিক্ৰিয়া লুপৰ মাজৰ পাৰ্থক্য হয়, এই নিখুঁততাই প্ৰথমতে দেখাতকৈ বহু বেছি গুৰুত্বপূৰ্ণ।
বহু-প্লেটফৰ্ম নিৰ্মাণ: এটা আদেশ, প্ৰতিটো স্থাপত্য
BuildKit ৰ --platform ফ্লেগ আৰু QEMU সংহতিই যিটো এসময়ত এটা বেদনাদায়ক বহু-চিস্টেম সমন্বয় সমস্যা আছিল তাক এটা আদেশলৈ ৰূপান্তৰিত কৰে। docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 . চলাই এটা বিল্ড আমন্ত্ৰণৰ পৰা সমান্তৰালভাৱে তিনিটা উৎপাদন-প্ৰস্তুত ছবি উৎপন্ন কৰে। এই সামৰ্থ্য জটিল হৈ পৰিছে কাৰণ উদ্যোগটোৱে ARMৰ ফালে স্থানান্তৰিত হৈছে — AWS Graviton3 উদাহৰণসমূহে ৱেব চাৰ্ভিং আৰু ডাটা প্ৰচেছিঙৰ দৰে কাৰ্য্যভাৰত ধাৰাবাহিকভাৱে 40% উন্নত মূল্য-কাৰ্য্যক্ষমতা প্ৰদান কৰে, আৰু Apple Silicon এ ARMক লাখ লাখ অভিযন্তাৰ বাবে অবিকল্পিত বিকাশ মেচিন কৰি তুলিছে।
বিল্ডকিটৰ বহু-প্লেটফৰ্ম সমৰ্থন পৰিপক্ক হোৱাৰ আগতে, বিভিন্ন স্থাপত্যৰ বাবে পৃথক নিৰ্মাণ পাইপলাইন ৰক্ষণাবেক্ষণ কৰাটো এটা প্ৰকৃত খৰচ কেন্দ্ৰ আছিল। দলসমূহে হয় একাধিক ডকাৰফাইলসমূহ ৰক্ষণাবেক্ষণ কৰিছিল, বিভিন্নভাৱে-স্থাপত্য কৰা দৌৰবিদসমূহত পৃথক CI পাইপলাইনসমূহ চলাইছিল, বা কেৱল x86 ছবিসমূহ সকলোতে প্ৰেৰণ কৰিছিল আৰু ARM আন্তঃগাঁথনিত পৰিৱেশন শাস্তি দিছিল। BuildKit ৰ সৈতে, আপুনি আপোনাৰ নিৰ্মাণ এবাৰ সংজ্ঞায়িত কৰে আৰু ব্যৱস্থাপ্ৰণালীক স্থাপত্য-নিৰ্দিষ্ট কমপাইলিং স্বচ্ছভাৱে নিয়ন্ত্ৰণ কৰিবলৈ দিয়ে । ক্ৰছ-কম্পাইলেচনৰ প্ৰয়োজন হোৱা Rust প্ৰকল্পসমূহ, CGO নিৰ্ভৰশীলতাৰ সৈতে Go প্ৰকল্পসমূহ, C সম্প্ৰসাৰণসমূহৰ সৈতে পাইথন সৰঞ্জামসমূহ — BuildKit এ ইমুলেচন স্তৰ নিয়ন্ত্ৰণ কৰে আপোনাক প্ৰতিটো লক্ষ্য প্লেটফৰ্মৰ বিৱৰণসমূহ বুজি পোৱাৰ প্ৰয়োজন নোহোৱাকৈ।
ইয়াত ব্যৱহাৰিক ব্যৱসায়িক মূল্য জুখিব পৰা যায়। AWS Graviton দৃষ্টান্তসমূহত $0.04 প্ৰতি vCPU-ঘণ্টাত সমতুল্য x86 উদাহৰণৰ বিপৰীতে $0.056 প্ৰতি vCPU-ঘণ্টাত 200 টা কণ্টেইনাৰ চলোৱা এটা দলে প্ৰতি 100 vCPUs প্ৰতি বছৰি প্ৰায় $11,520 ৰাহি কৰে — বিশুদ্ধভাৱে সঠিক স্থাপত্য বাছনি কৰাৰ পৰা। পুনৰ অভিযান্ত্ৰিক প্ৰচেষ্টা অবিহনে সেই পছন্দক সুলভ কৰি তোলাটোৱেই হৈছে হুবহু সেই ধৰণৰ আন্তঃগাঁথনি অনুকূলন যিয়ে নিজৰ মূল্য তৎক্ষণাত দিয়ে।
চিত্ৰ স্তৰসমূহত লিক নোহোৱাকৈ গোপন ব্যৱস্থাপনা
বিল্ডকিটৰ এটা অতি কম প্ৰশংসিত বৈশিষ্ট্য হৈছে ইয়াৰ গোপনীয়তা এপিআই। ক্লাছিক ডকাৰ বিল্ডাৰৰ সেই প্ৰমাণপত্ৰসমূহ সম্ভাৱনাময়ভাৱে এটা ছবি স্তৰত শেষ নোহোৱাকৈ এটা বিল্ডলৈ প্ৰমাণপত্ৰসমূহ পাছ কৰাৰ কোনো পৰিষ্কাৰ উপায় নাছিল। ডেভেলপাৰসকলে ইয়াক বহু-পৰ্যায়ৰ নিৰ্মাণ, ARG নিৰ্দেশ, আৰু সাৱধানে অৰ্ডাৰৰ সৈতে কাম কৰিছিল — কিন্তু ভুলবশতঃ এটা API কি' বা ব্যক্তিগত SSH চাবি এটা প্ৰেৰণ কৰা প্ৰতিমুৰ্তিত বেক কৰাৰ আশংকা অস্বস্তিকৰভাৱে বেছি আছিল। সুৰক্ষা স্ক্যানাৰে নিয়মিতভাৱে ৰাজহুৱা পঞ্জীয়নসমূহত প্ৰকাশ কৰা পাত্ৰ ছবিসমূহত হাৰ্ডকোড কৰা প্ৰমাণপত্ৰসমূহ বিচাৰি পায়, আৰু সেই লিকসমূহৰ বহুতেই নিৰ্মাণৰ সময়ত অনাড়ম্বৰ গোপন নিয়ন্ত্ৰণলৈ পোনপটীয়াকৈ অনুসৰণ কৰে।
BuildKit ৰ --secret ফ্লেগে বিল্ড পৰিৱেশত সংবেদনশীল তথ্যক এটা অস্থায়ী নথিপত্ৰপ্ৰণালী পথ হিচাপে মাউন্ট কৰে যি কেৱল নিৰ্দিষ্ট RUN নিৰ্দেশৰ সময়ৰ বাবে বিদ্যমান যি ইয়াৰ প্ৰয়োজন আৰু কেতিয়াও কোনো প্ৰতিমুৰ্তি স্তৰ স্পৰ্শ নকৰে । এটা Dockerfile নিৰ্দেশ যেনে RUN --mount=type=secret,id=npmrc cat /run/secrets/npmrc > ~/.npmrc && npm install এ নিৰ্মাণ প্ৰক্ৰিয়াক ব্যক্তিগত npm প্ৰমাণপত্ৰসমূহলে অভিগম দিয়ে সেই প্ৰমাণপত্ৰসমূহ কেতিয়াও চূড়ান্ত প্ৰতিমুৰ্তিত বা কোনো মধ্যৱৰ্তী স্তৰত উপস্থিত নোহোৱাকৈ। একে আৰ্হিই PyPI প্ৰমাণপত্ৰসমূহ, Maven সংহতিসমূহ, ব্যক্তিগত Git ভঁৰালসমূহৰ বাবে SSH চাবিসমূহ, আৰু আপোনাৰ নিৰ্মাণ প্ৰক্ৰিয়াৰ প্ৰয়োজনীয় অন্য যিকোনো সংবেদনশীল সামগ্ৰীৰ বাবে কাম কৰে।
নিয়ন্ত্ৰিত উদ্যোগসমূহক স্পৰ্শ কৰা চফ্টৱেৰ নিৰ্মাণ কৰা দলসমূহৰ বাবে — স্বাস্থ্যসেৱা প্লেটফৰ্ম, ফিনটেক প্ৰডাক্ট, এইচ আৰ চফ্টৱেৰ — "প্ৰমাণপত্ৰসমূহ ছবিত থাকিব পাৰে" আৰু "প্ৰমাণপত্ৰসমূহ ছবিখনত থাকিব নোৱাৰে"ৰ মাজৰ পাৰ্থক্যটো হ'ল সুৰক্ষা অডিট উত্তীৰ্ণ হোৱা আৰু তথ্যসমূহৰ সংশোধনত তিনি সপ্তাহ সময় খৰচ কৰাৰ মাজৰ পাৰ্থক্য। পে-ৰোল, এইচ আৰ, আৰু চালান আদি উদ্যোগৰ ১৩৮,০০০ৰো অধিক ব্যৱহাৰকাৰীৰ বাবে ব্যৱসায়িক কাৰ্য্যকলাপক শক্তি প্ৰদান কৰা মেৱাইজৰ দৰে প্লেটফৰ্মসমূহে তেওঁলোকৰ নিৰ্মাণ আৰু নিয়োগ পাইপলাইনত এই ধৰণৰ প্ৰমাণযোগ্য সুৰক্ষাৰ ভংগীমাৰ ওপৰত নিৰ্ভৰ কৰে যাতে সেই গ্ৰাহকসকলে তেওঁলোকৰ স্পৰ্শকাতৰ বিত্তীয় আৰু কৰ্মী তথ্যৰ প্ৰতি থকা আস্থা বজাই ৰাখে।
কেশ্ব ৰপ্তানি: CI পাইপলাইনসমূহ প্ৰকৃততে দ্ৰুত কৰা
CI পাইপলাইনসমূহ হৈছে য'ত নিৰ্মাণ পৰিৱেশন আটাইতকৈ গুৰুত্বপূৰ্ণ আৰু য'ত অবিকল্পিত Docker নিৰ্মাণ অভিজ্ঞতা ঐতিহাসিকভাৱে আটাইতকৈ বেদনাদায়ক আছিল। সতেজ CI দৌৰবিদসমূহে সাধাৰণতে খালী কেশ্বসমূহৰ সৈতে আৰম্ভ কৰে, অৰ্থাৎ প্ৰতিটো পাইপলাইন চলনে সকলো শূন্যৰ পৰা পুনৰায় কম্পাইল কৰে। শ শ Maven নিৰ্ভৰশীলতাৰ সৈতে এটা জাভা সেৱাৰ বাবে, এটা Rust প্ৰকল্প, বা গধুৰ স্থানীয় সম্প্ৰসাৰণৰ সৈতে এটা পাইথন এপ্লিকেচনৰ বাবে, ইয়াৰ অৰ্থ হৈছে চেকেণ্ডৰ পৰিবৰ্তে দহ মিনিটত জুখি নিৰ্মাণ সময়। লেহেমীয়া CI ৰ ব্যৱসায়িক খৰচ অতিশয় — হ্ৰাস কৰা মোতায়েন কম্পাঙ্ক, দীঘলীয়া প্ৰতিক্ৰিয়া লুপ, আৰু অভিযন্তাসকলে পাইপলাইনসমূহ একত্ৰিত আৰু আগবাঢ়িব পৰাৰ আগতে সম্পূৰ্ণ হোৱাৰ বাবে অপেক্ষা কৰি অচলভাৱে বহি আছে।
BuildKit ৰ কেশ্ব ৰপ্তানি বৈশিষ্ট্যই ইয়াক ৰপ্তানিযোগ্য কেশ্ব মেনিফেষ্টৰ সৈতে সমাধান কৰে। --cache-to type=registry,ref=myregistry/myapp:cache আৰু --cache-from type=registry,ref=myregistry/myapp:cache ব্যৱহাৰ কৰি, BuildKit এ প্ৰতিটো নিৰ্মাণৰ পিছত এটা বিশদ কেশ্ব স্নেপশ্বট এটা ৰেজিষ্ট্ৰিলৈ ঠেলি দিয়ে আৰু পৰৱৰ্তীৰ আৰম্ভণিতে ইয়াক টানে। কেশ্ব বিষয়বস্তু-ঠিকনাযুক্ত, গতিকে কেৱল প্ৰকৃততে পৰিৱৰ্তিত স্তৰসমূহহে পুনৰায় অনা হয়। GitHub কাৰ্য্যসমূহ, GitLab CI, আৰু CircleCI ত এই আৰ্হি ব্যৱহাৰ কৰা দলসমূহে নিয়মিতভাৱে পৰৱৰ্তী চলোৱাসমূহত পাইপলাইন সময়সমূহ পোন্ধৰ মিনিটৰ পৰা তিনিৰ তললৈ কৰ্তন কৰে। উন্নত Docker নিৰ্মাণ কাৰ্য্যপ্ৰবাহসমূহৰ ওপৰত GitHub ৰ নিজৰ আলেখ্যনে এই কাৰণে এই আৰ্হিক অতিশয় পৰামৰ্শ দিয়ে।
সৰ্বাধিক দ্ৰুত বিল্ড হৈছে যিটো আপুনি আৰু কেতিয়াও চলাব নালাগে। বিল্ডকিটৰ স্তৰযুক্ত, বিষয়বস্তু-ঠিকনাযুক্ত কেশ্ব ব্যৱস্থাপ্ৰণালীয়ে কেৱল বিল্ডসমূহ দ্ৰুত নকৰে — ই এটা "নিৰ্মাণ"ৰ সমগ্ৰ ধাৰণাটোক স্মাৰ্ট কৰে, এটা বাৰম্বাৰ কৰা কম্পাইলেচনক হুবহু সলনি হোৱাটোৰ এটা বৃদ্ধি পোৱা পাৰ্থক্যলৈ ৰূপান্তৰিত কৰে।
ৰ দ্বাৰাকেশ্ব ৰপ্তানিসমূহেও শাখা-ভিত্তিক বিকাশ কাৰ্য্যপ্ৰবাহৰ সৈতে পৰিষ্কাৰভাৱে সংহতি কৰে। আপুনি আপোনাৰ CI পাইপলাইনক এটা শাখা-নিৰ্দিষ্ট কেশ্বৰ পৰা মূল শাখা কেশ্বলৈ উভতি যাবলৈ বিন্যাস কৰিব পাৰে যেতিয়া কোনো শাখা কেশ্ব নাই, অৰ্থাৎ নতুন শাখাসমূহে আপোনাৰ মূল বিকাশ শাৰীয়ে জমা কৰা উষ্ণ কেশ্বৰ পৰা তৎক্ষণাত লাভৱান হয়। অভিযন্তাসকলে কল্ড-ষ্টাৰ্ট পেনাল্টিৰ মাজেৰে অপেক্ষা নকৰি নতুন শাখাত তেওঁলোকৰ প্ৰথম কমিটৰ পৰা দ্ৰুত প্ৰতিক্ৰিয়া লাভ কৰে।
💡 DID YOU KNOW?
Mewayz replaces 8+ business tools in one platform
CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.
Start Free →বিল্ডকিট ফ্ৰন্টএণ্ডসমূহ: ডকাৰফাইলসমূহৰ বাহিৰত নিৰ্মাণ
হয়তো BuildKit ৰ কম পৰিচিত ক্ষমতা হ'ল Dockerfiles মাত্ৰ এটা সম্ভাৱ্য ইনপুট বিন্যাস — একমাত্ৰ নহয় । বিল্ডকিটৰ এটা প্লাগেবল ফ্ৰন্টএণ্ড আৰ্কিটেকচাৰ আছে যি সম্পূৰ্ণৰূপে স্বনিৰ্বাচিত বিল্ড সংজ্ঞা ভাষা আৰু বিন্যাসসমূহৰ অনুমতি দিয়ে। ফ্ৰন্টএণ্ড আপোনাৰ নিৰ্মাণ নথিপত্ৰৰ ওপৰত # syntax= নিৰ্দেশৰ দ্বাৰা ধাৰ্য্য কৰা হয়, যি BuildKit ক এটা নিৰ্দিষ্ট ফ্ৰন্টএণ্ড প্ৰতিমুৰ্তি টানিবলৈ কয় আৰু ইয়াক নথিপত্ৰৰ বাকী অংশ বিশ্লেষণ আৰু নিষ্পাদন কৰিবলে ব্যৱহাৰ কৰিবলে কয়।
এই স্থাপত্যই কেইবাটাও বাধ্যতামূলক প্ৰকল্প সামৰ্থবান কৰিছে। Buildpacks সংহতিই BuildKit ক এপ্লিকেচন উৎস ক'ডৰ পৰা কোনো Dockerfile অবিহনে ধাৰক প্ৰতিমুৰ্তি নিৰ্মাণ কৰাৰ অনুমতি দিয়ে — ই ভাষা ধৰা পেলায়, উপযুক্ত ভিত্তি প্ৰতিমুৰ্তি নিৰ্ব্বাচন কৰে, আৰু এটা উৎপাদন-প্ৰস্তুত ধাৰক স্বয়ংক্ৰিয়ভাৱে একত্ৰিত কৰে। HPC আৰু বৈজ্ঞানিক কম্পিউটিং সম্প্ৰদায়সমূহে ডমেইন-নিৰ্দিষ্ট ভাষাসমূহত বিল্ডসমূহ বৰ্ণনা কৰিবলে কাষ্টম ফ্ৰন্টএণ্ডসমূহ ব্যৱহাৰ কৰিছে যি বিল্ডকিটৰ আভ্যন্তৰীণ LLB (নিম্ন-স্তৰৰ নিৰ্মাণ) উপস্থাপনলৈকে কম্পাইল কৰে। docker/dockerfile:labs বাক্যবিন্যাস ফ্ৰন্টএণ্ডে heredoc সমৰ্থন, --network নিয়ন্ত্ৰণৰ দৰে বৈশিষ্ট্যসমূহৰ সৈতে পৰীক্ষা কৰে, আৰু উন্নত কেশ্ব ইংগিতসমূহ সুস্থিৰ Dockerfile বাক্যবিন্যাসত অৱতৰণ কৰাৰ আগতে।
আপোনাৰ নিজৰ ফ্ৰন্টএণ্ড সংজ্ঞায়িত কৰাৰ ক্ষমতাৰ অৰ্থ এইটোও যে অস্বাভাৱিক নিৰ্মাণ প্ৰয়োজনীয়তা থকা প্ৰতিষ্ঠানসমূহে "সকলো বস্তু ডকাৰফাইল বাক্যবিন্যাসত শ্বোহৰ্ণ কৰক" আৰু "ধাৰকসমূহ সম্পূৰ্ণৰূপে পৰিত্যাগ কৰক"ৰ মাজৰ পৰা বাছি ল'ব নালাগে। এটা দলে FPGA ফাৰ্মৱেৰ, এম্বেডেড চিস্টেম প্ৰতিমুৰ্তি, বা বিশেষ ML আৰ্হি ধাৰক নিৰ্মাণ কৰে সিহতৰ বিল্ডক এনেদৰে বৰ্ণনা কৰিব পাৰে যি সিহতৰ ডমেইনৰ বাবে যুক্তিযুক্ত হয় আৰু তথাপিও প্ৰামাণিক OCI-সঙ্গতিপূৰ্ণ ধাৰক প্ৰতিমুৰ্তি উৎপন্ন কৰে যি যিকোনো ঠাইত ধাৰক মোতায়েন কৰে। এই সম্প্ৰসাৰণ ক্ষমতা নিৰ্মাণ ব্যৱস্থাপ্ৰণালীতকৈ এটা প্ৰকৃত স্থাপত্য সুবিধা যি সিহতৰ ইনপুট বিন্যাসক স্থিৰ হিচাপে গণ্য কৰে।
উৎপত্তি আৰু এছ বি অ' এম: সৌৰ বতাহৰ পিছৰ জগতৰ বাবে নিৰ্মাণ
২০২০ চনত SolarWinds ভংগ আৰু ২০২১ চনত Log4Shell দুৰ্বলতাৰ পিছত চফ্টৱেৰ যোগান শৃংখলৰ সুৰক্ষা তাত্ত্বিক চিন্তাৰ পৰা ব'ৰ্ড-স্তৰৰ অগ্ৰাধিকাৰলৈ গতি কৰে। BuildKit ৰ উৎপত্তি প্ৰমাণীকৰণ আৰু SBOM উৎপাদন বৈশিষ্ট্যসমূহ এই নিয়ন্ত্ৰণ আৰু সুৰক্ষা পৰিৱেশৰ প্ৰত্যক্ষ সঁহাৰি।
--provenance=true আৰু --sbom=true ফ্লেগসমূহৰ সৈতে, BuildKit এ ক্ৰিপ্টোগ্ৰাফিকভাৱে স্বাক্ষৰিত প্ৰমাণীকৰণসমূহ সৃষ্টি কৰে যি এটা ধাৰক প্ৰতিমুৰ্তিলৈ কি গৈছিল সেই বিষয়ে সঠিকভাৱে বৰ্ণনা কৰে — কোনবোৰ ভিত্তি প্ৰতিমুৰ্তি ব্যৱহাৰ কৰা হৈছিল, কোনবোৰ Dockerfile নিৰ্দেশ নিষ্পাদন কৰা হৈছিল, কোনবোৰ উৎস নথিপত্ৰ উপস্থিত আছিল, আৰু কি বাহ্যিক নিৰ্ভৰশীলতাসমূহ আনিছিল। এই প্ৰমাণীকৰণসমূহে SLSA (চফ্টৱেৰ আৰ্টিফেক্টসমূহৰ বাবে যোগান-শৃংখল স্তৰসমূহ) কাঠামো আৰু ইন-টুটো প্ৰমাণীকৰণ বিন্যাস অনুসৰণ কৰে, যাৰ ফলত সিহতক Sigstore ৰ Cosign আৰু OPA (মুক্ত নীতি এজেন্ট)ৰ দৰে নীতি ইঞ্জিনসমূহৰ দ্বাৰা মেচিন-পৰীক্ষাযোগ্য কৰি তোলে।
ই সামৰ্থবান কৰা ব্যৱহাৰিক কাৰ্য্যপ্ৰবাহটো এনেকুৱা দেখা যায়:
- ডেভেলপাৰে ক'ড ঠেলি দিয়ে; CI পাইপলাইনে উৎপত্তি সামৰ্থবান কৰি এটা বিল্ডকিট নিৰ্মাণ ট্ৰিগাৰ কৰে।
- BuildKit এ সকলো উপাদান আৰু সিহতৰ সংস্কৰণসমূহ তালিকাভুক্ত কৰি এটা স্বাক্ষৰিত SBOM সৃষ্টি কৰে।
- SBOM ক ইমেজ মেনিফেষ্টৰ কাষত কণ্টেইনাৰ ৰেজিষ্ট্ৰিলৈ প্ৰকাশ কৰা হয়।
- Kubernetes থুপত প্ৰৱেশ নিয়ন্ত্ৰকসমূহে মোতায়েনৰ অনুমতি দিয়াৰ আগতে উৎপত্তি পৰীক্ষা কৰে।
- দুৰ্বলতা স্ক্যানাৰসমূহে নতুন CVEসমূহ প্ৰকাশ কৰাৰ সময়ত প্ৰভাৱিত ছবিসমূহ চিনাক্ত কৰিবলে SBOM ক প্ৰশ্ন কৰে।
এই সম্পূৰ্ণ পাইপলাইন প্ৰণয়ন কৰা দলসমূহে দুৰ্বলতা প্ৰকাশসমূহৰ প্ৰতি দিনৰ পৰিবৰ্তে ঘণ্টাত সঁহাৰি দিব পাৰে, কাৰণ তেওঁলোকৰ প্ৰতিটো চলি থকা ধাৰকৰ প্ৰতিটো উপাদানৰ এটা নিখুঁত, মেচিন-পঢ়িব পৰা মেপ আছে। গ্ৰাহকৰ কাৰ্য্যকৰী কাৰ্য্যপ্ৰবাহৰ সৈতে গভীৰভাৱে একত্ৰিত হোৱা মেৱাইজৰ দৰে ব্যৱসায়ৰ বাবে — পে-ৰোল চলোৱা, বহৰৰ তথ্য পৰিচালনা কৰা, চালান প্ৰক্ৰিয়াকৰণ — এটা কঠোৰ, অডিটেবল যোগান শৃংখল প্ৰদৰ্শন কৰাৰ ক্ষমতা কেৱল এটা ভাল লগা নহয়, উদ্যোগ বিক্ৰীৰ কথোপকথনৰ বাবে ক্ৰমান্বয়ে এটা পূৰ্বচৰ্ত হৈ পৰিছে।
আৰম্ভ কৰা: অবিকল্পিত নিৰ্মাণৰ পৰা উন্নত পাইপলাইনলৈ
BuildKit ইতিমধ্যে আপোনাৰ Docker পৰিৱেশত চলি আছে যদি আপুনি এটা শেহতীয়া সংস্কৰণ ব্যৱহাৰ কৰিছে — Docker 23.0 আৰু পিছত ইয়াক অবিকল্পিতভাৱে সামৰ্থবান কৰক । বেছিভাগ দলৰ বাবে প্ৰথম ব্যৱহাৰিক পদক্ষেপ হৈছে Docker Buildx প্লাগইন সামৰ্থবান কৰা, যি BuildKit ৰ সম্পূৰ্ণ বৈশিষ্ট্য সংহতি docker buildx উপআদেশৰ যোগেদি উন্মোচন কৰে। docker buildx create --use চলাই এটা BuildKit নিৰ্মাতা উদাহৰণ অবিকল্পিত চালকতকৈ অধিক ক্ষমতাৰ সৈতে সংহতি কৰে। তাৰ পৰাই, সকলো একেলগে গ্ৰহণ কৰিবলৈ চেষ্টা নকৰি উন্নত বৈশিষ্ট্যসমূহৰ ক্ৰমান্বয়ে গ্ৰহণ কৰাটো যুক্তিসংগত।
বৰ্তমানে মৌলিক docker build আমন্ত্ৰণ কৰা এটা দলৰ বাবে এটা যুক্তিসংগত গ্ৰহণ পথ প্ৰথমে CI লৈ কেশ্ব ৰপ্তানি যোগ কৰাৰ দৰে দেখা যায় — ই নূন্যতম বিন্যাস পৰিবৰ্তনৰ সৈতে তাৎক্ষণিক, জুখিব পৰা গতি উন্নতি প্ৰদান কৰে। বহু-প্লেটফৰ্ম বিল্ডসমূহ মূল্যৱান হৈ পৰে যেতিয়া দলটোৱে এ আৰ এম আন্তঃগাঁথনিক লক্ষ্য কৰি ল’বলৈ আৰম্ভ কৰে। গোপন মাউণ্টিং যিকোনো সময়ত ব্যক্তিগত সৰঞ্জাম পঞ্জিকাসমূহ বা SSH কি'সমূহ নিৰ্মাণ প্ৰসংগত উপস্থিত হোৱাৰ সময়ত গ্ৰহণ কৰাৰ যোগ্য। যেতিয়া অনুসৰণৰ প্ৰয়োজনীয়তা বা উদ্যোগ গ্ৰাহকৰ চাহিদাই যোগান শৃংখলৰ নথিপত্ৰ প্ৰয়োজনীয় কৰে তেতিয়া উৎপত্তি প্ৰমাণীকৰণৰ যুক্তিযুক্ততা আছে।
বিল্ডকিটৰ গভীৰ পাঠটো হৈছে ইচ্ছাকৃতভাৱে নিৰ্মাণ কৰাৰ বিষয়ে। আপুনি এটা মাইক্ৰ'চাৰ্ভিচৰ বাবে এটা কণ্টেইনাৰ প্ৰেৰণ কৰক, এটা মেচিন লাৰ্নিং অনুমান এণ্ডপইণ্ট, বা মেৱেইজৰ ২০৭টা ব্যৱসায়িক মডিউলৰ চুইটৰ দৰে এটা জটিল প্লেটফৰ্ম, নিৰ্মাণ প্ৰক্ৰিয়াটো আপুনি মোতায়েনৰ পথত লৰালৰিকৈ যোৱা এটা আনুষ্ঠানিকতা নহয় — ই এটা অভিযান্ত্ৰিক কৃত্ৰিমতা যিয়ে ইয়াৰ পৰা প্ৰেৰণ কৰা সকলো বস্তুৰ মান, সুৰক্ষা ভংগীমা আৰু কাৰ্য্যকৰী পৰিপক্কতা প্ৰতিফলিত কৰে। BuildKit এ আপোনাক সেই আৰ্টিফেক্টটোক উৎকৃষ্ট কৰিবলৈ সঁজুলিসমূহ দিয়ে। প্ৰশ্নটো হ’ল আপুনি সেইবোৰ ব্যৱহাৰ কৰিবলৈ সময় উলিয়াই নেকি।
সঘনাই সোধা প্ৰশ্ন
বিল্ডকিট কি আৰু ই ক্লাছিক ডকাৰ নিৰ্মাণ ব্যৱস্থাপ্ৰণালীৰ পৰা কেনেকৈ পৃথক?
BuildKit হৈছে Docker ৰ পৰৱৰ্তী প্ৰজন্মৰ নিৰ্মাণ ইঞ্জিন, Docker 18.09 ত উন্মোচন কৰা হৈছে আৰু Docker 23.0 ত অবিকল্পিত কৰা হৈছে । ক্লাছিক বিল্ডাৰৰ দৰে নহয়, BuildKit এ সমান্তৰাল স্তৰ নিষ্পাদন, উন্নত কেচিং কৌশল, গোপনীয়তা মাউণ্টিং, আৰু ক্ৰছ-প্লেটফৰ্ম নিৰ্মাণ সমৰ্থন কৰে। ই নিৰ্মাণ প্ৰক্ৰিয়াক এটা নিৰ্দেশিত অচক্ৰীয় গ্ৰাফ (DAG) হিচাপে গণ্য কৰে, জটিল, বহু-পৰ্যায়ৰ ডকাৰফাইলসমূহৰ বাবে স্মাৰ্ট নিৰ্ভৰশীলতা ৰিজ'লিউচন আৰু নাটকীয়ভাৱে দ্ৰুত নিৰ্মাণ সময় সামৰ্থবান কৰে।
Docker ৰ সৈতে BuildKit ব্যৱহাৰ আৰম্ভ কৰিবলে মই অতিৰিক্ত কিবা সংস্থাপন কৰিব লাগিবনে?
কোনো অতিৰিক্ত সংস্থাপনৰ প্ৰয়োজন নাই যদি আপুনি Docker 23.0 বা পিছৰ চলাই আছে — BuildKit অবিকল্পিতভাৱে সামৰ্থবান কৰা হৈছে । পুৰণি সংস্কৰণসমূহত, আপুনি ইয়াক সক্ৰিয় কৰিব পাৰে আপোনাৰ নিৰ্মাণ আদেশসমূহ চলোৱাৰ আগতে পৰিৱেশ চলক DOCKER_BUILDKIT=1 সংহতি কৰি। দূৰৱৰ্তী নিৰ্মাণ কেশ্বসমূহ বা বহু-প্লেটফৰ্ম নিৰ্মাণসমূহৰ দৰে উন্নত ব্যৱহাৰৰ ক্ষেত্ৰসমূহৰ বাবে, আপুনি docker buildx create.
বিল্ডকিট ব্যৱহাৰ কৰিব পাৰিনে প্ৰামাণিক ধাৰক প্ৰতিমুৰ্তিসমূহৰ বাহিৰত আৰ্টিফেক্ট নিৰ্মাণ কৰিবলে?
হয়, আৰু এইটো BuildKit ৰ এটা অতি কম প্ৰশংসিত ক্ষমতা। স্বনিৰ্বাচিত ফ্ৰন্টএণ্ডসমূহ আৰু --output ফ্লেগ ব্যৱহাৰ কৰি, BuildKit এ কেঁচা বাইনাৰী, tarballs, স্থিতিশীল ৱেবছাইটসমূহ, আৰু অন্য ইচ্ছাকৃত ফাইল আৰ্টিফেক্টসমূহ উৎপন্ন কৰিব পাৰে — কেৱল OCI প্ৰতিমুৰ্তিসমূহ নহয়। ই ইয়াক এটা সাধাৰণ-উদ্দেশ্যৰ নিৰ্মাণ ইঞ্জিন কৰি তোলে যি স্বাভাৱিকতে পলিগ্লট মনোৰেপ' আৰু জটিল CI পাইপলাইনত ফিট হয় য'ত বিভিন্ন দলসমূহক এটা ঐক্যবদ্ধ সঁজুলিশৃংখলৰ পৰা বিভিন্ন আউটপুট বিন্যাসৰ প্ৰয়োজন হয়।
BildKit Mewayz ৰ দৰে সঁজুলিসমূহৰ সৈতে এটা বহল DevOps প্লেটফৰ্মত কেনেকৈ ফিট হয়?
BuildKit এ নিম্ন-স্তৰৰ নিৰ্মাণ স্তৰ নিয়ন্ত্ৰণ কৰে, কিন্তু আধুনিক বিকাশ দলসমূহে ব্যৱসায়িক কাৰ্য্যপ্ৰবাহ, ক্লাএন্ট বিতৰণ, আৰু কাৰ্য্যকৰী প্ৰক্ৰিয়াসমূহো ব্যৱস্থাপনা কৰিব লাগিব। Mewayzৰ দৰে প্লেটফৰ্মসমূহে — $19/mo ৰ পৰা আৰম্ভ হোৱা এটা 207-মডিউল ব্যৱসায়িক অপাৰেটিং চিষ্টেম — চফ্টৱেৰ ব্যৱসায়ৰ কাৰ্য্যকৰী দিশটো সামৰি আন্তঃগাঁথনি সঁজুলিৰ পৰিপূৰক। BuildKit দ্বাৰা চালিত দক্ষ বিল্ড পাইপলাইনসমূহক Mewayz ৰ দৰে এটা অল-ইন-ৱান প্লেটফৰ্মৰ সৈতে যোৰ কৰিলে দলসমূহক ক'ড আৰ্টিফেক্টৰ পৰা গ্ৰাহক ডেলিভাৰীলৈকে এটা সম্পূৰ্ণ ষ্টেক দিয়া হয়।
We use cookies to improve your experience and analyze site traffic. Cookie Policy