Hacker News

BuildKit: جوهرة Docker المخفية التي يمكنها بناء أي شيء تقريبًا

اكتشف كيف يمكن لـ BuildKit، محرك البناء القوي Dockers، تقليل أوقات إنشاء CI/CD بنسبة 50-70%. تعلم كيفية فتح إمكاناته الكاملة بما يتجاوز أوامر بناء عامل الإرساء الأساسية.

3 دقيقة قراءة

Mewayz Team

Editorial Team

Hacker News

BuildKit: جوهرة Docker المخفية التي يمكنها بناء أي شيء تقريبًا

يعرف معظم المطورين أن Docker هو وقت تشغيل الحاوية الذي غير طريقة شحن البرامج. عدد أقل بكثير يعرف عن المحرك الذي يعمل بهدوء تحت سطح كل إصدار Docker حديث - BuildKit، نظام البناء من الجيل التالي الذي تم شحنه مع Docker منذ الإصدار 18.09 وأصبح الواجهة الخلفية الافتراضية في Docker 23.0. بينما يتجادل المهندسون بلا نهاية حول تكوينات Kubernetes وأنماط الخدمات الصغيرة، فإن BuildKit يتطور بشكل مطرد ليصبح واحدًا من أقوى أنظمة البناء وأكثرها مرونة في نظام DevOps البيئي. إذا كنت تتعامل معه على أنه مجرد بناء أسرع لوحدة الإرساء، فإنك تترك إمكانات هائلة على الطاولة. قامت الشركات التي تقوم بتشغيل خطوط أنابيب CI/CD عالية الإنتاجية بخفض أوقات الإنشاء بنسبة 50-70% بمجرد فهم ما يقدمه BuildKit فعليًا - وهذه مجرد البداية.

ما الذي يجعل BuildKit مختلفًا بشكل أساسي عن Classic Builder

قام محرك بناء Docker الأصلي بتنفيذ تعليمات Dockerfile بشكل تسلسلي، طبقة واحدة في كل مرة، دون إدراك العمل الذي يمكن أن يحدث بأمان بالتوازي. يستبدل BuildKit نموذج التنفيذ الخطي هذا برسم بياني غير دوري موجه (DAG) - وهو رسم بياني للتبعية يفهم خطوات البناء التي تعتمد على بعضها البعض والتي لا تعتمد عليها. يتم تنفيذ المراحل المستقلة بشكل متزامن، ويتم تخطي المراحل غير المستخدمة بالكامل، ويصبح البناء بأكمله وصفًا تعريفيًا لما تريده بدلاً من سلسلة حتمية من الخطوات التي يتعين عليك قراءتها بالترتيب الصحيح.

هذا التحول المعماري له عواقب عملية تتجاوز السرعة. عندما يقوم ملف Dockerfile متعدد المراحل بتجميع ملف Go الثنائي في مرحلة واحدة، وتنزيل تبعيات Node.js في مرحلة أخرى، وتجميع صورة إنتاج في مرحلة ثالثة، يمكن لـ BuildKit تشغيل المرحلتين الأوليين في وقت واحد. البناء الذي كان يستغرق سابقًا أربع دقائق على عداء CI القوي يكتمل الآن في أقل من تسعين ثانية. قامت Stripe وShopify وعشرات الفرق الهندسية الأخرى رفيعة المستوى بتوثيق مكاسب مماثلة في استعراضاتهم الداخلية للأدوات. ويعني نموذج DAG أيضًا أن BuildKit يمكنه إنشاء بيانات تعريف بناء دقيقة للغاية - وهي أساس لميزات مثل شهادات المصدر وإنشاء قائمة مواد البرامج (SBOM) التي لها أهمية كبيرة بالنسبة لأمن سلسلة التوريد.

هناك أيضًا تحول مفاهيمي في كيفية عمل إبطال ذاكرة التخزين المؤقت. قام المنشئ الكلاسيكي بإبطال كل طبقة أسفل أي تعليمات تم تغييرها. يتتبع BuildKit تجزئات المحتوى عند كل إدخال، لذا فإن تغيير تعليق في ملف Dockerfile لا يؤدي إلى إلغاء إدخال ذاكرة التخزين المؤقت الذي يمثل ثلاثين دقيقة من التجميع. عندما تكون ذاكرة التخزين المؤقت للإنشاء هي الفرق بين حلقة تعليقات مدتها خمس دقائق وأربعون دقيقة لفريقك الهندسي، فإن هذه الدقة مهمة أكثر بكثير مما قد تبدو في البداية.

💡 هل تعلم؟

Mewayz تحل محل 8+ أدوات أعمال في منصة واحدة

CRM · الفواتير · الموارد البشرية · المشاريع · الحجوزات · التجارة الإلكترونية · نقطة البيع · التحليلات. خطة مجانية للأبد متاحة.

ابدأ مجانًا →

إصدارات متعددة المنصات: أمر واحد، لكل بنية

تعمل علامة --platform الخاصة بـ BuildKit وتكامل 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، يمكنك تحديد البنية الخاصة بك مرة واحدة والسماح للنظام بالتعامل مع التجميع الخاص بالبنية بشفافية. مشاريع Rust التي تتطلب تجميعًا متقاطعًا، ومشاريع Go مع تبعيات CGO، وحزم Python مع امتدادات C

Ready to Simplify Your Operations?

Whether you need CRM, invoicing, HR, or all 207 modules — Mewayz has you covered. 138K+ businesses already made the switch.

Get Started Free →
Here is the HTML FAQ section in Arabic:

Frequently Asked Questions

ما هو BuildKit ولماذا يعتبر "جوهرة Docker" المخفية؟

BuildKit هو نظام البناء من الجيل التالي الذي يعمل كواجهة خلفية قوية وراء Docker. على الرغم من أنه غالبًا ما يُستخدم على أنه مجرد أداة لتسريع بناء الصور، إلا أنه يفتح آفاقًا هائلة للمرونة والأمان. يتيح لك بناء صور Docker بميزات متقدمة مثل التشفير، والتحقق من صحة المدخلات، والتكامل مع أدوات CI/CD المعقدة.

كيف يمكن لـ BuildKit تحسين سير عمل التطوير الخاص بي؟

من خلال تبني BuildKit، يمكنك تحويل عمليات البناء التقليدية إلى خطوط إنتاج ذكية. يمكنك دمجها بسهولة مع حلول مثل Mewayz، التي توفر 207 مودول جاهزة لإنشاء سير عمل مخصص بدقة. بفضل هذه التكاملات، يمكنك أتمتة مهام المعالجة والتشفير، مما يقلل من الأخطاء البشرية ويضمن نشرًا أسرع وأكثر موثوقية لمنتجاتك الرقمية.

هل يمكنني استخدام BuildKit مع أدوات Docker الحالية؟

نعم، BuildKit مصمم ليكون متوافقًا تمامًا مع أدوات Docker القياسية ولكنه يضيف طبقات من القدرة الإضافية. يمكنك استخدام أوامر `docker build` المعتادة، مع تفعيل ميزات BuildKit عبر الأعلام مثل `--build-arg` أو من خلال ملفات التكوين. هذا يعني أنك لا تضطر إلى إعادة بناء بنية مشروعك بالكامل للاستفادة من أحدث تقنيات البناء المتاحة في البيئة.

ما هو الدور الذي تلعبه منصات الاشتراك مثل Mewayz في تعزيز BuildKit؟

تعمل منصات الاشتراك مثل Mewayz كمحفز أساسي لفعالية BuildKit، حيث توفر بنية تحتية جاهزة لدمج النماذج والعمليات المعقدة. بدلاً من كتابة كل شيء من الصفر، يمكنك الاعتماد على 207 مودول متاحة في Mewayz لبناء حلول مخصصة بأسعار معقولة (29 دولار/شهريًا). هذا يسمح للمطورين بالتركيز على الابتكار بدلاً من الصيانة الروتينية، مما يعزز قيمة BuildKit في مشاريعهم

جرب Mewayz مجانًا

منصة شاملة لإدارة العلاقات والعملاء، والفواتير، والمشاريع، والموارد البشرية، والمزيد. لا حاجة لبطاقة ائتمان.

ابدأ في إدارة عملك بشكل أكثر ذكاءً اليوم.

انضم إلى 30,000+ شركة. خطة مجانية للأبد · لا حاجة لبطاقة ائتمان.

وجدت هذا مفيدا؟ أنشرها.

هل أنت مستعد لوضع هذا موضع التنفيذ؟

انضم إلى 30,000+ شركة تستخدم ميويز. خطة مجانية دائمًا — لا حاجة لبطاقة ائتمان.

ابدأ التجربة المجانية →

هل أنت مستعد لاتخاذ إجراء؟

ابدأ تجربة Mewayz المجانية اليوم

منصة أعمال شاملة. لا حاجة لبطاقة ائتمان.

ابدأ مجانًا →

تجربة مجانية 14 يومًا · لا توجد بطاقة ائتمان · إلغاء في أي وقت