Hacker News

BuildKit: ڊاڪر جو پوشیدہ گيم جيڪو تقريباً ڪا به شيءِ ٺاهي سگهي ٿو

تبصرا

2 min read Via tuananh.net

Mewayz Team

Editorial Team

Hacker News

BuildKit: Docker's hidden Gem جيڪو لڳ ڀڳ هر شيءِ ٺاهي سگھي ٿو

گھڻا ڊولپر ڊاڪر کي ڪنٽينر رن ٽائم جي طور تي ڄاڻن ٿا جيڪو تبديل ٿي ويو ته سافٽ ويئر ڪيئن موڪليو وڃي. انجڻ جي باري ۾ تمام گهٽ ڄاڻن ٿا خاموشيءَ سان هر جديد ڊاڪر بلڊ جي مٿاڇري جي هيٺان گهمڻ - BuildKit، ايندڙ نسل جو بلڊ سسٽم جيڪو ڊاڪر سان ورشن 18.09 کان شپنگ ڪري رهيو آهي ۽ ڊڪر 23.0 ۾ ڊفالٽ پس منظر بڻجي ويو. جڏهن ته انجنيئر ڪبرنيٽس جي ترتيبن ۽ مائڪرو سروسز جي نمونن جي باري ۾ لامحدود بحث ڪن ٿا، بلڊ ڪِٽ مسلسل ترقي ڪري رهيو آهي هڪ انتهائي طاقتور، لچڪدار بلڊنگ سسٽم ۾ DevOps ايڪو سسٽم ۾. جيڪڏهن توهان ان کي صرف هڪ تيز docker build سمجهي رهيا آهيو، ته توهان ٽيبل تي وڏي صلاحيت ڇڏي رهيا آهيو. ڪمپنيون جيڪي اعليٰ درجي جي CI/CD پائيپ لائينون هلائينديون آهن انهن جي تعمير جي وقت ۾ 50-70% گهٽتائي ڪئي آهي صرف اهو سمجهڻ سان ته BuildKit اصل ۾ ڇا پيش ڪري ٿو - ۽ اها صرف شروعات آهي.

BuildKit کي بنيادي طور تي ڪلاسڪ بلڊر کان مختلف ڇا ٿو بڻائي

اصل ڊاڪر بلڊ انجڻ ڊاڪرفائل جي هدايتن کي ترتيب سان، هڪ وقت ۾ هڪ پرت تي عمل ڪيو، انهي جي ڪا به خبر ناهي ته ڪهڙو ڪم محفوظ طور تي متوازي ۾ ٿي سگهي ٿو. BuildKit ان لڪير تي عملدرآمد ماڊل کي تبديل ڪري ٿو هدايت ٿيل ايڪيڪلڪ گراف (DAG) سان - هڪ انحصار گراف جيڪو سمجهي ٿو ته ڪهڙا قدم هڪ ٻئي تي ڀاڙين ٿا ۽ ڪهڙا نه. آزاد مرحلا گڏ ٿين ٿا، غير استعمال ٿيل مرحلا مڪمل طور تي ڇڏيا وڃن ٿا، ۽ پوري اڏاوت ان لاءِ بياني وضاحت بڻجي وڃي ٿي جيڪا توهان چاهيو ٿا، بجاءِ قدمن جي هڪ لازمي ترتيب جي بجاءِ جيڪو توهان کي صحيح ترتيب ۾ پڙهڻو آهي.

هيءَ اڏاوتي تبديليءَ جا عملي نتيجا آهن، جيڪي رفتار کان اڳتي وڌن ٿا. جڏهن هڪ ملٽي اسٽيج ڊڪر فائل هڪ اسٽيج ۾ گو بائنري کي مرتب ڪري ٿو، ٻئي ۾ Node.js انحصار کي ڊائون لوڊ ڪري ٿو، ۽ ٽئين ۾ پيداوار واري تصوير کي گڏ ڪري ٿو، BuildKit پهرين ٻن مرحلن کي گڏ ڪري سگهي ٿو. هڪ تعمير جيڪا اڳ ۾ هڪ طاقتور CI رنر تي چار منٽ ورتي هئي هاڻي نون سيڪنڊن ۾ مڪمل ٿي. پٽي، Shopify، ۽ ٻين اعلي سطحي انجنيئرنگ ٽيمن جا اسڪور ساڳيا حاصلات کي دستاويز ڪيو آهي انهن جي اندروني ٽولنگ جي ماضي ۾. DAG ماڊل جو مطلب اهو پڻ آهي ته BuildKit انتهائي درست بلڊ ميٽا ڊيٽا پيدا ڪري سگهي ٿي - هڪ بنياد جيئن خاصيتن جي تصديق ۽ سافٽ ويئر بل آف مواد (SBOM) جنريشن لاءِ جيڪا سپلائي چين سيڪيورٽي لاءِ تمام گهڻي اهميت رکي ٿي.

ڪيش جي غلطيءَ جي ڪم ۾ به هڪ تصوراتي تبديلي آهي. کلاسک بلڊر ڪنهن به تبديل ٿيل هدايت جي هيٺان هر پرت کي رد ڪري ڇڏيو. BuildKit هر ان پٽ تي مواد جي هيش کي ٽريڪ ڪري ٿو، تنهن ڪري ڊاڪرفائل ۾ تبصرو تبديل ڪرڻ هڪ ڪيش جي داخلا کي نه ڌڪيندو آهي جيڪو تاليف جي 30 منٽن جي نمائندگي ڪري ٿو. جڏهن توهان جي تعميراتي ڪيش توهان جي انجنيئرنگ ٽيم لاءِ پنجن منٽن ۽ چاليهه منٽن جي موٽ واري لوپ جي وچ ۾ فرق آهي، ته اها درستگي ان کان وڌيڪ اهميت رکي ٿي جيڪا شايد شروعات ۾ لڳي سگهي ٿي.

Multi-Plateform Builds: One Command, Every Architecture

BuildKit جو --Plateform پرچم ۽ QEMU انٽيگريشن بدلجي ٿو جيڪو ڪنهن وقت ڏکوئيندڙ ملٽي-سسٽم ڪوآرڊينيشن مسئلو هو هڪ واحد ڪمانڊ ۾. هلندڙ docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 . هڪ واحد تعمير جي دعوت کان متوازي طور تي ٽي پيداوار لاءِ تيار تصويرون ٺاهي ٿو. اها صلاحيت نازڪ ٿي وئي آهي جيئن صنعت ARM ڏانهن منتقل ٿي رهي آهي - AWS Graviton3 مثال مسلسل 40% بهتر قيمت-ڪارڪردگي مهيا ڪن ٿا ڪم لوڊ تي جيئن ويب سرونگ ۽ ڊيٽا پروسيسنگ، ۽ Apple Silicon ARM کي لکين انجنيئرن لاءِ ڊفالٽ ڊولپمينٽ مشين بڻائي ڇڏيو آهي.

ان کان اڳ جو BuildKit جي ملٽي پليٽ فارم سپورٽ جي پختگي ٿئي، مختلف اڏاوتن لاءِ الڳ بلڊ پائيپ لائينن کي برقرار رکڻ حقيقي قيمت جو مرڪز هو. ٽيمن يا ته ڪيترن ئي Dockerfiles کي برقرار رکيو، مختلف طور تي تعمير ٿيل رنرز تي الڳ CI پائپ لائنون هلائي، يا صرف x86 تصويرون هر هنڌ موڪليا ۽ ARM انفراسٽرڪچر تي ڪارڪردگي جي سزا ادا ڪئي. BuildKit سان، توهان هڪ ڀيرو پنهنجي تعمير جي وضاحت ڪريو ۽ سسٽم کي آرڪيٽيڪچر جي مخصوص تاليف کي شفاف طور تي سنڀالڻ ڏيو. مورچا پروجيڪٽ جن کي ڪراس-ڪپليشن جي ضرورت آهي، سي جي او انحصار سان گو پروجيڪٽس، سي ايڪسٽينشن سان پٿون پيڪيجز — BuildKit ايموليشن ليئر کي سنڀالي ٿو بغير توهان کي هر ٽارگيٽ پليٽ فارم جي تفصيل کي سمجهڻ جي ضرورت آهي.

هتي عملي ڪاروباري قدر ماپي سگهجي ٿو. AWS Graviton مثالن تي 200 ڪنٽينر هلائيندڙ ٽيم $0.04 في vCPU-ڪلاڪ جي مقابلي ۾ برابر x86 مثال $0.056 في vCPU-ڪلاڪ تي ساليانو تقريباً $11,520 بچائي ٿي في 100 vCPUs - خالص طور تي صحيح آرڪيٽ چونڊڻ کان. ري-انجنيئرنگ جي ڪوشش کان سواءِ ان چونڊ کي رسائي لائق بنائڻ بلڪل ان قسم جي بنيادي ڍانچي جي اصلاح آهي جيڪا فوري طور تي پاڻ لاءِ ادا ڪري ٿي.

تصوير جي پرتن ۾ ليڪ ٿيڻ کان سواءِ رازداري انتظام

سڀ کان وڌيڪ اڻ ڄاتل BuildKit خاصيتن مان هڪ آهي ان جو راز API. کلاسک ڊاڪر بلڊر وٽ ڪو به صاف رستو نه هو ته سندن کي بلڊنگ ۾ پاس ڪرڻ جو انهن سندن کان سواءِ ممڪن طور تي تصويري پرت ۾ ختم ٿي وڃي. ڊولپرز ان جي چوڌاري ملٽي اسٽيج تعميرات، ARG هدايتون، ۽ محتاط ترتيب سان ڪم ڪيو - پر حادثي طور تي هڪ API ڪيئي يا نجي SSH ڪيئي کي موڪليل تصوير ۾ بيڪ ڪرڻ جو خطرو غير آرامده طور تي بلند رهيو. سيڪيورٽي اسڪينر عام طور تي پبلڪ رجسٽري ۾ شايع ٿيل ڪنٽينر تصويرن ۾ سخت ڪوڊ ٿيل سندون ڳوليندا آهن، ۽ انهن مان ڪيترائي ليڪ سڌو سنئون واپسي جي ڳجهي ڳجهي هينڊلنگ ڏانهن ڇڪيندا آهن تعميرات دوران.

BuildKit جو --secret جھنڊو حساس ڊيٽا کي عمارت جي ماحول ۾ عارضي فائل سسٽم جي رستي جي طور تي نصب ڪري ٿو جيڪو صرف مخصوص RUN هدايتن جي مدت لاءِ موجود آهي جنهن کي ان جي ضرورت آهي ۽ ڪڏهن به تصوير جي ڪنهن پرت کي هٿ نه ٿو اچي. Dockerfile instruction like RUN --mount=type=secret,id=npmrc cat /run/secrets/npmrc > ~/.npmrc && npm install بلڊ پروسيس کي پرائيويٽ npm سندن تائين رسائي ڏئي ٿو بغير اهي سندون جيڪي ڪڏهن به حتمي تصوير يا ڪنهن وچولي پرت ۾ ظاهر نه ٿيون ٿين. ساڳيو نمونو PyPI سندن، Maven سيٽنگون، SSH ڪيز لاءِ پرائيويٽ Git repositories لاءِ ڪم ڪري ٿو، ۽ ٻيو ڪو حساس مواد جيڪو توهان جي تعمير جي عمل جي ضرورت آهي.

سافٽ ويئر ٺاهڻ واري ٽيمن لاءِ جيڪي منظم صنعتن کي ڇڪيندا آهن - صحت جي سار سنڀار پليٽ فارمز، فنٽيڪ پراڊڪٽس، HR سافٽ ويئر - جي وچ ۾ فرق "تصوير ۾ ٿي سگهي ٿو" ۽ "ثقافت ممڪن طور تي تصوير ۾ نه ٿي سگهي" جي وچ ۾ فرق آهي سيڪيورٽي آڊٽ پاس ڪرڻ ۽ ٽن هفتن ۾ خرچ ڪرڻ جي نتيجي ۾. پليٽ فارمز جهڙوڪ Mewayz، جيڪي صنعتن ۾ 138,000 کان وڌيڪ صارفين لاءِ پاور بزنس آپريشنز جهڙوڪ پگهار، HR، ۽ انوائسنگ، انهن جي تعمير ۽ لڳائڻ واري پائپ لائنن ۾ بلڪل اهڙي قسم جي قابل اعتماد حفاظتي پوزيشن تي ڀاڙين ٿا ته جيئن اهي گراهڪ انهن جي حساس مالي ۽ پرسنل ڊيٽا تائين وڌائين.

ڪيش ايڪسپورٽ: سي آءِ پائپ لائنز کي اصل ۾ تيز ڪرڻ

سي آءِ پائپ لائنون آهن جتي تعميراتي ڪارڪردگي تمام گهڻي اهميت رکي ٿي ۽ جتي ڊفالٽ ڊاکر تعمير جو تجربو تاريخي طور تي تمام گهڻو ڏکوئيندڙ رهيو آهي. تازو سي آءِ رنرز عام طور تي خالي ڪيچز سان شروع ڪندا آهن، مطلب ته هر پائيپ لائين رن هر شيءِ کي شروع کان ٻيهر ترتيب ڏئي ٿي. جاوا سروس لاءِ سوين Maven انحصار سان، هڪ Rust پروجيڪٽ، يا هڪ پٿون ايپليڪيشن وڏين ڏيهي ايڪسٽينشنن سان، ان جو مطلب آهي بلڊنگ ٽائيم سيڪنڊن جي بجاءِ ڏهن منٽن ۾ ماپيل. سست CI جي ڪاروباري قيمت تمام گهڻي آهي - گھٽتائي جي تعدد، گهڻي موٽڻ واري لوپ، ۽ انجنيئر بيٺا بيٺا آهن پائيپ لائينن جي مڪمل ٿيڻ جي انتظار ۾ ان کان اڳ جو اهي ضم ٿي سگهن ۽ اڳتي وڌن.

BuildKit جي ڪيش ايڪسپورٽ فيچر ان کي ايڪسپورٽ قابل ڪيش مينيفيسٽ سان حل ڪري ٿي. استعمال ڪندي --cache-to type=registry,ref=myregistry/myapp:cache and --cache-from type=registry,ref=myregistry/myapp:cache، BuildKit هڪ تفصيلي ڪيش سنيپ شاٽ کي رجسٽري ڏانهن ڇڪي ٿو ان کي هر بلڊ جي ايندڙ پل ۽ شروع ڪرڻ کان پوءِ. ڪيش مواد جو پتو لڳايو ويو آهي، تنهنڪري صرف حقيقي طور تي تبديل ٿيل پرت کي ٻيهر حاصل ڪيو وڃي. ٽيمون GitHub ايڪشنز، GitLab CI، ۽ CircleCI ۾ ھن نموني کي استعمال ڪندي پندرھن منٽن کان پوءِ ايندڙ رنن تي ٽيھ کان گھٽ پائيپ لائين جي وقت کي معمول موجب ڪٽينديون آھن. GitHub جي پنهنجي دستاويزن تي ترقي يافته ڊاکر تعمير ورڪ فلوز تمام گهڻو سفارش ڪري ٿو هن نموني کي بلڪل هن سبب لاء.

سڀ کان تيز ترين تعمير اها آهي جيڪا توهان کي ڪڏهن به ٻيهر نه هلڻو آهي. BuildKit جو پرت وارو، مواد جي ايڊريس ڪيل ڪيش سسٽم صرف تعميرات کي تيز نٿو ڪري - اهو هڪ "تعمير" جي مڪمل تصور کي وڌيڪ سمارٽ بڻائي ٿو، بار بار ڪمپليشن کي تبديل ٿيندڙ فرق ۾ تبديل ڪري ٿو.

ڪيش ايڪسپورٽ پڻ صاف طور تي برانچ جي بنياد تي ترقياتي ڪم فلوز سان ضم ٿي. توھان پنھنجي سي آءِ پائپ لائن کي ترتيب ڏئي سگھوٿا ھڪڙي شاخ جي مخصوص ڪيش کان واپس مکيه شاخ ڪيش ڏانھن جڏھن ڪا برانچ ڪيش موجود نہ ھجي، مطلب ته نيون شاخون فوري طور تي توھان جي مکيه ڊولپمينٽ لائن پاران گڏ ڪيل گرم ڪيش مان فائدو وٺن ٿيون. انجنيئرن کي ڪولڊ-اسٽارٽ ڏنڊ جو انتظار ڪرڻ بجاءِ نئين برانچ تي پنهنجي پهرين ڪمٽ مان تيز موٽ ملي ٿي.

💡 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 Frontends: Building Beyond Dockerfiles

شايد BuildKit جي گهٽ ۾ گهٽ سڃاتل صلاحيت اها آهي ته Dockerfiles صرف هڪ ممڪن ان پٽ فارميٽ آهن - صرف هڪ نه. BuildKit وٽ هڪ پلگبلبل فرنٽ اينڊ آرڪيٽيڪچر آهي جيڪو مڪمل طور تي ڪسٽم تعمير جي تعريف ٻولين ۽ فارميٽ جي اجازت ڏئي ٿو. فرنٽ اينڊ # syntax= هدايتن ذريعي توهان جي بلڊ فائل جي چوٽي تي بيان ڪيو ويو آهي، جيڪو BuildKit کي ٻڌائي ٿو ته هڪ خاص فرنٽ اينڊ تصوير ڪڍڻ ۽ ان کي استعمال ڪرڻ لاءِ استعمال ڪري باقي فائل کي پارس ڪرڻ ۽ عمل ڪرڻ لاءِ.

هن فن تعمير ڪيترن ئي زبردست منصوبن کي فعال ڪيو آهي. Buildpacks انٽيگريشن BuildKit کي اجازت ڏئي ٿو ته ڪنٽينر تصويرون ٺاهڻ لاءِ ايپليڪيشن سورس ڪوڊ کان سواءِ ڪنهن به Dockerfile - اهو ٻولي ڳولي ٿو، مناسب بنيادي تصويرون چونڊي ٿو، ۽ خودڪار طور تي پيداوار لاءِ تيار ڪنٽينر گڏ ڪري ٿو. HPC ۽ سائنسي ڪمپيوٽنگ ڪميونٽيز استعمال ڪيا آھن ڪسٽم فرنٽ اينڊ ڊوميسٽڪ ٻولين ۾ تعميرات کي بيان ڪرڻ لاءِ جيڪي ھيٺ ٺاھن ٿيون BuildKit جي اندروني LLB (لو-ليول بلڊ) نمائندگي. docker/dockerfile:labs syntax فرنٽ اينڊ تي تجربا ڪري ٿو خاصيتن سان جيئن heredoc سپورٽ، -network ڪنٽرول في هدايت، ۽ وڌايل ڪيش اشارن ان کان اڳ جو اھي مستحڪم Dockerfile syntax ۾ اچي وڃن.

توهان جي پنهنجي فرنٽ اينڊ کي واضع ڪرڻ جي صلاحيت جو مطلب اهو آهي ته تنظيمون جيڪي غير معمولي تعميراتي گهرجن سان گڏ آهن انهن جي وچ ۾ چونڊڻ جي ضرورت ناهي "Soehorn everything into Dockerfile syntax" ۽ "مڪمل طور تي ڪنٽينرز کي ڇڏي ڏيو." هڪ ٽيم بلڊنگ FPGA فرم ویئر، ايمبيڊڊ سسٽم جون تصويرون، يا خاص ML ماڊل ڪنٽينر انهن جي تعمير کي انهن شرطن ۾ بيان ڪري سگهن ٿا جيڪي انهن جي ڊومين لاءِ سمجهه ۾ ايندا آهن جڏهن ته اڃا تائين معياري OCI-مطابق ڪنٽينر تصويرون ٺاهيندا آهن جيڪي ڪٿي به ڪنٽينر هلائيندا آهن. هي توسيع هڪ حقيقي تعميراتي فائدو آهي تعميراتي سسٽم تي جيڪي انهن جي ان پٽ فارميٽ کي مقرر ڪيل طور تي علاج ڪن ٿا.

ثبوت ۽ SBOM: عمارت لاءِ پوسٽ-SolarWinds World

سافٽ ويئر سپلائي چين سيڪيورٽي 2020 ۾ SolarWinds جي ڀڃڪڙي ۽ 2021 ۾ Log4Shell جي خطري کان پوءِ نظرياتي تشويش کان بورڊ-سطح جي ترجيح تي منتقل ٿي وئي. سائبر سيڪيورٽي تي آمريڪي حڪومت جو ايگزيڪيوٽو آرڊر 14028، مئي 2021 ۾ سافٽ ويئر جي ڪانٽريڪٽ لاءِ لازمي قرار ڏنو ويو. BuildKit جي ثابتي جي تصديق ۽ SBOM نسل جون خاصيتون هن ريگيوليٽري ۽ حفاظتي نظارن جو سڌو جواب آهن.

--provenance=true ۽ --sbom=true جھنڊن سان، BuildKit cryptographically signed artsations پيدا ڪري ٿو جيڪي بيان ڪن ٿا ته ڪنٽينر جي تصوير ۾ ڇا ويو - ڪھڙي بنيادي تصويرن کي استعمال ڪيو ويو، ڪھڙين Dockerfile جي هدايتن تي عمل ڪيو ويو، ڪھڙي ماخذ فائلن تي عمل ڪيو ويو، ۽ ڪھڙي ماخذ فائلن تي منحصر آھن. اهي تصديقون SLSA (Supply-chain Levels for Software Artifacts) فريم ورڪ ۽ ان ٽوٽو تصديق واري فارميٽ جي پيروي ڪنديون آهن، انهن کي مشيني انجڻ جهڙوڪ Sigstore's Cosign ۽ OPA (Open Policy Agent) ذريعي تصديق ڪرڻ لائق بڻائي ٿي.

جيڪو عملي ڪم فلو هن کي فعال ڪري ٿو اهو هن طرح نظر اچي ٿو:

  1. ڊولپر ڪوڊ کي زور ڏئي ٿو؛ CI پائيپ لائين هڪ BuildKit جي تعمير کي شروع ڪري ٿي پروونانس فعال سان.
  2. BuildKit هڪ دستخط ٿيل SBOM ٺاهي ٿو سڀني حصن ۽ انهن جي ورزن جي فهرست.
  3. SBOM تصويري مينيفيسٽ سان گڏ ڪنٽينر رجسٽري ۾ شايع ٿيل آهي.
  4. ڪئبرنيٽس ڪلستر ۾ داخلا ڪنٽرولرز مقرري جي اجازت ڏيڻ کان اڳ ثابتي جي تصديق ڪن ٿا.
  5. ضعيف اسڪينر SBOM کان سوال ڪندا آهن ته جيئن متاثر ٿيل تصويرن کي سڃاڻڻ لاءِ جڏهن نوان CVE ظاهر ڪيا وڃن.

جيڪي ٽيمون ھن پوري پائيپ لائين تي عمل ڪنديون آھن اھي خطرن جي انڪشافن جو جواب ڏينھن بجاءِ ڪلاڪن ۾ ڏئي سگھن ٿيون، ڇاڪاڻ⁠تہ انھن وٽ ھلندڙ ڪنٽينر ۾ ھر جزو جو درست، مشين پڙھي سگھجي ٿو. Mewayz جھڙن ڪاروبارن لاءِ جيڪي گراهڪ جي آپريشنل ورڪ فلوز ۾ ضم ٿي ويا آھن - ھلندڙ پگهار، فليٽ ڊيٽا کي منظم ڪرڻ، پروسيسنگ انوائسز - ھڪڙي سخت، قابل آڊيٽبل سپلائي چين جو مظاهرو ڪرڻ جي صلاحيت ڪاروبار سيلز جي گفتگو لاءِ وڌ کان وڌ شرط آھي، نه رڳو ھڪڙو سٺو ڪرڻ لاءِ.

شروع ڪرڻ: Default Builds کان ترقي يافته پائپ لائنز تائين

BuildKit اڳ ۾ ئي توهان جي Docker ماحول ۾ هلندي آهي جيڪڏهن توهان تازو ورزن استعمال ڪري رهيا آهيو - Docker 23.0 ۽ بعد ۾ ان کي ڊفالٽ طور فعال ڪريو. اڪثر ٽيمن لاءِ پهريون عملي قدم Docker Buildx پلگ ان کي فعال ڪرڻ آهي، جيڪو بي نقاب ڪري ٿو BuildKit جي مڪمل فيچر سيٽ کي docker buildx subcommand ذريعي. هلائڻ docker buildx create --use هڪ BuildKit بلڊر مثال قائم ڪري ٿو ڊفالٽ ڊرائيور کان وڌيڪ صلاحيت سان. اتان کان، ترقي يافته خاصيتن جي وڌ ۾ وڌ اپنائڻ، هڪ ئي وقت ۾ سڀڪنھن شيء کي اپنائڻ جي ڪوشش ڪرڻ بدران سمجھ ۾ اچي ٿو.

هڪ ٽيم لاءِ هڪ مناسب اپنائڻ وارو رستو جيڪو هن وقت بنيادي ڊاڪر بلڊ ڪري رهي آهي دعوتون ڏسڻ ۾ اينديون آهن ڪيش ايڪسپورٽ کي پهريون ڀيرو CI ۾ شامل ڪرڻ - هي گهٽ ۾ گهٽ ترتيب واري تبديلي سان فوري ، ماپيبل رفتار بهتري فراهم ڪري ٿو. ملٽي پليٽ فارم تعميرات قيمتي ٿي ويندا آهن جڏهن ٽيم ARM انفراسٽرڪچر کي نشانو بڻائڻ شروع ڪري ٿي. ڳجهي چڙهڻ قابل آهي اپنائڻ جي ڪنهن به وقت پرائيويٽ پيڪيج رجسٽري يا SSH ڪنجيون تعميراتي حوالي سان ظاهر ٿين ٿيون. ثابتي جي تصديقون ان کي قابل بڻائڻ جو احساس ڪن ٿيون جڏهن تعميل گهرجن يا انٽرنيشنل گراهڪ مطالبن کي سپلائي زنجير دستاويزن کي لازمي بڻائي.

BuildKit جو اونهو سبق عمدي طور تي تعمير ڪرڻ بابت آهي. ڇا توهان مائڪرو سروس لاءِ ڪنٽينر موڪلي رهيا آهيو، مشين لرننگ انفرنس انڊپائنٽ، يا هڪ پيچيده پليٽ فارم جهڙوڪ Mewayz جي 207 ڪاروباري ماڊلز جي سوٽ، تعمير جو عمل هڪ رسم الخط نه آهي جنهن ذريعي توهان مقرري جي رستي تي جلدي ڪريو - اهو هڪ انجنيئرنگ آرٽيڪل آهي جيڪو ظاهر ڪري ٿو معيار، سيڪيورٽي پوزيشن، ۽ هر شي جي آپريشنل حالت کي ظاهر ڪري ٿو. BuildKit توهان کي اوزار ڏئي ٿو انهي نموني کي شاندار بڻائڻ لاءِ. سوال صرف اهو آهي ته ڇا توهان انهن کي استعمال ڪرڻ لاءِ وقت ڪڍيو.

اڪثر پڇيا ويندڙ سوال

BuildKit ڇا آهي ۽ اهو کلاسک ڊاڪر بلڊ سسٽم کان ڪيئن مختلف آهي؟

BuildKit Docker جي ايندڙ نسل جي بلڊ انجڻ آھي، جيڪو Docker 18.09 ۾ متعارف ڪرايو ويو ۽ Docker 23.0 ۾ ڊفالٽ ڪيو ويو. کلاسک بلڊر جي برعڪس، BuildKit متوازي پرت جي عمل کي سپورٽ ڪري ٿو، ترقي يافته ڪيشنگ حڪمت عمليون، راز ماؤنٽنگ، ۽ ڪراس پليٽ فارم تعمير. اهو تعمير جي عمل کي هڪ هدايت ٿيل ايڪائيلڪ گراف (DAG) جي طور تي علاج ڪري ٿو، سمارٽ انحصار حل کي فعال ڪرڻ ۽ پيچيده، ملٽي اسٽيج ڊڪر فائلن لاءِ ڊرامائي طور تي تيز تعمير وقت.

Docker سان BuildKit استعمال ڪرڻ شروع ڪرڻ لاءِ ڇا مون کي ڪا اضافي انسٽال ڪرڻ جي ضرورت آهي؟

جيڪڏهن توهان Docker 23.0 يا بعد ۾ هلائي رهيا آهيو ته ڪا به اضافي انسٽاليشن جي ضرورت ناهي — BuildKit ڊفالٽ طور فعال آهي. پراڻن ورزن تي، توھان ان کي چالو ڪري سگھوٿا ماحوليات جي متغير کي ترتيب ڏيندي DOCKER_BUILDKIT=1 پنھنجي تعميراتي ڪمن کي هلائڻ کان اڳ. ترقي يافته استعمال جي ڪيسن لاءِ جيئن ته ريموٽ بلڊ ڪيشز يا ملٽي پليٽ فارم بلڊنگز، توهان شايد ترتيب ڏيڻ چاهيو ٿا هڪ وقف ٿيل Buildx بلڊر مثال استعمال ڪندي docker buildx create.

ڇا BuildKit استعمال ڪري سگھجن ٿا نمونن جي تعمير لاءِ معياري ڪنٽينر تصويرن کان وڌيڪ؟

ها، ۽ هي BuildKit جي سڀ کان گهٽ قابل قدر صلاحيتن مان هڪ آهي. ڪسٽم فرنٽ اينڊز ۽ --output جھنڊو استعمال ڪندي، BuildKit خام بائنريز، ٽربالز، جامد ويب سائيٽون، ۽ ٻيون صوابديدي فائل نمونا پيدا ڪري سگھن ٿيون - نه رڳو OCI تصويرون. اهو ان کي هڪ عام مقصدي تعمير انجڻ بڻائي ٿو جيڪو قدرتي طور تي پولي گلوٽ مونورپوس ۽ پيچيده CI پائپ لائنن ۾ جڙي ٿو جتي مختلف ٽيمن کي گڏيل ٽول چين مان مختلف آئوٽ پٽ فارميٽ جي ضرورت آهي.

Mewayz وانگر اوزارن سان گڏ هڪ وسيع DevOps پليٽ فارم ۾ BuildKit ڪيئن ٺهي ٿي؟

BuildKit هيٺين سطح جي بلڊ ليئر کي سنڀاليندو آهي، پر جديد ترقياتي ٽيمن کي پڻ ڪاروباري ڪم جي فلوز، ڪلائنٽ پهچائڻ، ۽ آپريشنل عملن کي منظم ڪرڻ جي ضرورت آهي. پليٽ فارمس جهڙوڪ Mewayz — هڪ 207-ماڊيول ڪاروباري OS جيڪو $19/mo کان شروع ٿئي ٿو — سافٽ ويئر ڪاروبار جي آپريشنل پاسي کي ڍڪيندي انفراسٽرڪچر ٽولنگ کي مڪمل ڪن ٿا. BuildKit پاران طاقتور بلڊ پائيپ لائينن کي جوڙڻ سان گڏ هڪ آل-ان-ون پليٽ فارم جهڙوڪ Mewayz ٽيمن کي مڪمل اسٽيڪ ڏئي ٿو ڪوڊ آرٽيفڪٽ کان وٺي ڪسٽمر پهچائڻ تائين.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime