توصيات لتحسين سرعة البناء

ينطبق على توصية قائمة التحقق من التميز التشغيلي في Azure Well-Architected Framework:

OE:04 تحسين عمليات تطوير البرامج وضمان الجودة باتباع الممارسات المثبتة في الصناعة للتطوير والاختبار. لتعيين دور لا لبس فيه، قم بتوحيد الممارسات عبر مكونات مثل الأدوات والتحكم بالمصادر وأنماط تصميم التطبيق والوثائق وأدلة الأنماط.

الأدلة ذات الصلة: توصيات لتوحيد الأدوات والعمليات | توصيات لاستخدام التكامل المستمر

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

من الصعب إصلاح مشكلة الإنشاء إذا استغرق الإنشاء وقتا أطول. عندما تحدث التأخيرات وتصبح طبيعية، تميل الفرق إلى أن تصبح أقل حافزا لإصلاح المشكلة.

استراتيجيات التصميم الرئيسية

أوقات الإنشاء

لتنفيذ إصدارات أسرع، يمكنك:

  • اختر العوامل التي تفي بمتطلبات الأداء الخاصة بك: تسريع البنيات الخاصة بك عن طريق تحديد أجهزة البناء الصحيحة. يمكن للأجهزة السريعة أن تحدث فرقاً بين الساعات والدقائق. إذا كانت البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك في Azure Pipelines، يمكنك تشغيل مهامك باستخدام عامل مستضاف من Microsoft. عند استخدام الوكلاء المستضافين من Microsoft، يتم الاهتمام بالصيانة والترقيات نيابة عنك. لمزيد من المعلومات راجع، عوامل مستضافة من Microsoft.

  • تحسين موقع خادم البناء: عند إنشاء التعليمات البرمجية الخاصة بك، يتم إرسال البيانات عبر السلك. يتم جلب المدخلات إلى الإصدارات من مستودع التحكم بالمصادر ومستودع البيانات الاصطناعية. يجب نسخ الإخراج من عملية الإنشاء، بما في ذلك البيانات الاصطناعية المحولة برمجيا وتقارير الاختبار ونتائج تغطية التعليمات البرمجية ورموز تتبع الأخطاء. من المهم أن يتم تشغيل إجراءات النسخ هذه بسرعة. إذا كنت تستخدم خادم الإنشاء الخاص بك، فتأكد من أن خادم البناء موجود بالقرب من المصادر والموقع الهدف. يمكن أن تقلل التحميلات والتنزيلات السريعة من وقت الإنشاء الإجمالي.

  • توسيع نطاق خوادم الإنشاء: قد يكون خادم إنشاء واحد كافيا لمنتج صغير. مع زيادة حجم المنتج ونطاقه وعدد الفرق التي تعمل على المنتج، قد لا يكون الخادم الواحد كافيا. تغيير حجم البنية الأساسية أفقياً عبر أجهزة متعددة عند الوصول إلى الحد الأقصى. لمزيد من المعلومات، راجع إنشاء مجموعات الوكلاء وإدارتها.

  • تحسين البنية:

    • أضف وظائف متوازية لتسريع عملية الإنشاء. لمزيد من المعلومات، راجع تكوين الوظائف المتوازية ودفع ثمنها.

    • تمكين عمليات تشغيل مجموعة الاختبار المتوازية، والتي غالبا ما توفر قدرا كبيرا من الوقت، خاصة عند تشغيل اختبارات التكامل وواجهة المستخدم. لمزيد من المعلومات، راجع تشغيل الاختبارات بالتوازي لأي مشغل اختبار.

    • استخدام فكرة المضاعف، حيث يمكنك توسيع نطاق البنى الخاصة بك على عوامل بناء متعددة. للحصول على مزيدٍ من المعلومات، اطّلع على تحديد الوظائف في المسار.

    • ضع في اعتبارك نقل اختبارات التكامل وواجهة المستخدم والدخان إلى البنية الأساسية لبرنامج ربط العمليات التجارية للإصدار. يعمل الانتقال إلى مسار الإصدار على تحسين سرعة البناء وسرعة حلقة ملاحظات البناء.

    • انشر البيانات الاصطناعية للبناء إلى حل إدارة الحزم، مثل NuGet أو Maven. يتيح لك النشر إلى حل إدارة الحزمة إعادة استخدام البيانات الاصطناعية للبناء بسهولة أكبر.

التدخل البشري

قد تختار مؤسستك إنشاء عدة أنواع مختلفة من الإصدارات لتحسين أوقات الإنشاء. تتضمن الإصدارات المحتملة ما يلي:

  • بناء التكامل المستمر (CI): الغرض من هذا الإصدار هو التأكد من تحويل التعليمات البرمجية برمجيا وتشغيل اختبارات الوحدة. يتم تشغيل هذا الإصدار عند كل تثبيت. وهو بمثابة رسالة كشف أخطاء المشروع ويوفر ملاحظات عالية الجودة للفريق على الفور. لمزيد من المعلومات، راجع تحديد الأحداث التي تؤدي إلى تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية.

  • الإنشاء الليلي: الغرض من الإنشاء الليلي ليس فقط تجميع التعليمات البرمجية، ولكن أيضا لضمان تشغيل أي مجموعات اختبار أكبر غير فعالة على إيقاع منتظم لكل بناء. عادة ما تتضمن هذه الاختبارات اختبارات التكامل أو واجهة المستخدم أو الدخان. لمزيد من المعلومات، راجع تكوين الجداول الزمنية للمسارات.

  • إصدار الإصدار: بالإضافة إلى تجميع الاختبارات وتشغيلها، يقوم هذا الإصدار أيضا بتجميع وثائق واجهة برمجة التطبيقات وتقارير التوافق وتوقيع التعليمات البرمجية والخطوات الأخرى غير المطلوبة في كل مرة يتم فيها إنشاء التعليمات البرمجية. يوفر هذا الإصدار النسخة الذهبية التي يتم دفعها إلى مسار الإصدار للنشر أخيرا في بيئة الإنتاج.

تعتمد أنواع الإصدارات التي تحتاجها مؤسستك على عوامل بما في ذلك نضج فريقك والمؤسسة ونوع المنتج الذي تعمل عليه واستراتيجية التوزيع الخاصة بك.

تسهيل Azure

Azure DevOps عبارة عن مجموعة من الخدمات التي تساعدك على بناء ممارسة تطوير تعاونية وفعالة ومتسقة.

استخدم Azure Pipelines لإنشاء الخدمات وإصدارها لدعم التكامل المستمر والتسليم المستمر (CI/CD) لتطبيقاتك.

استخدم إجراءات GitHub ل Azure لأتمتة عمليات CI/CD والتكامل مباشرة مع Azure لتبسيط عمليات التوزيع. يمكنك أيضا إنشاء مهام سير عمل تقوم بإنشاء واختبار كل طلب سحب إلى المستودع الخاص بك، أو توزيع طلبات السحب المدمجة للإنتاج باستخدام GitHub Actions ل Azure.

تتوفر العوامل المستضافة من Microsoft في الأصل في Azure Pipelines. هذه العوامل هي أجهزة ظاهرية أحادية الاستخدام تستخدم فقط لوظيفة واحدة ثم يتم تجاهلها، ما يوفر خيارا سهل الإدارة للإنشاءات الخاصة بك.

قائمة التحقق من التميز التشغيلي

راجع المجموعة الكاملة من التوصيات.