مهام سير عمل التكامل المستمر والتسليم المستمرلـ LUIS DevOps
يمكن لمهندسي البرمجيات الذين يقومون بتطوير تطبيق فهم اللغة (LUIS) تطبيق ممارسات DevOps حول التحكم في المصدروعمليات الإنشاء التلقائيةوالاختباروإدارة الإصدار. توضح هذه المقالة مفاهيم لتنفيذ البنيات التلقائية ل LUIS.
إنشاء مهام سير عمل التشغيل الآلي ل LUIS

في نظام إدارة التعليمات البرمجية المصدر (SCM)، قم بتكوين خطوط أنابيب الإنشاء التلقائية لتشغيلها في الأحداث التالية:
- يتم تشغيل سير عمل العلاقات العامة عند رفع طلب سحب (PR). يقوم سير العمل هذا بالتحقق من صحة محتويات العلاقات العامة قبل دمج التحديثات في الفرع الرئيسي.
- يتم تشغيل سير عمل CI/CD عند دفع التحديثات إلى الفرع الرئيسي، على سبيل المثال عند دمج التغييرات من العلاقات العامة. يضمن سير العمل هذا جودة جميع التحديثات للفرع الرئيسي.
يجمع سير عمل CI/CD بين عمليتي تطوير متكاملتين:
التكامل المستمر (CI) هو الممارسة الهندسية المتمثلة في الالتزام المتكرر بالتعليمات البرمجية في مستودع مشترك ، وإجراء بناء آلي عليها. بالاقتران مع نهج اختبار تلقائي ، يسمح لنا التكامل المستمر بالتحقق من أنه لكل تحديث ، لا يزال مصدر LUDown صالحا ويمكن استيراده إلى تطبيق LUIS ، ولكن أيضا أنه يجتاز مجموعة من الاختبارات التي تتحقق من أن التطبيق المدرب يمكنه التعرف على النوايا والكيانات المطلوبة لحلك.
يأخذ التسليم المستمر (CD) مفهوم التكامل المستمر إلى أبعد من ذلك لنشر التطبيق تلقائيا في بيئة حيث يمكنك إجراء المزيد من الاختبارات المتعمقة. يمكننا CD من التعرف مبكرا على أي مشكلات غير متوقعة تنشأ عن تغييراتنا في أسرع وقت ممكن ، وكذلك التعرف على الثغرات في تغطية الاختبار لدينا.
الهدف من التكامل المستمر والتسليم المستمر هو التأكد من أن "الرئيسي هو دائما قابلة للشحن". بالنسبة لتطبيق LUIS ، هذا يعني أنه يمكننا ، إذا احتجنا إلى ذلك ، أخذ أي إصدار من تطبيق LUIS الفرعي الرئيسي وشحنه عند الإنتاج.
أدوات لبناء مهام سير عمل التشغيل الآلي ل LUIS
تلميح
يمكنك العثور على حل كامل لتنفيذ DevOps في ريبو قالب LUIS DevOps.
هناك تقنيات مختلفة لأتمتة الإنشاء متاحة لإنشاء مهام سير عمل أتمتة البناء. تتطلب جميعها أنه يمكنك برمجة الخطوات باستخدام واجهة سطر الأوامر (CLI) أو مكالمات REST حتى يتمكنوا من التنفيذ على خادم إنشاء.
استخدم الأدوات التالية لإنشاء مهام سير عمل التشغيل التلقائي ل LUIS:
أدوات إطار عمل البوت LUIS CLI للعمل مع تطبيقات وإصدارات LUIS وتدريبها واختبارها ونشرها داخل خدمة LUIS.
Azure CLI للاستعلام عن اشتراكات Azure، وجلب مفاتيح التأليف والتنبؤ ل LUIS، وإنشاء مفتاح خدمة Azure يستخدم لمصادقة التشغيل التلقائي.
NLU. أداة DevOpsلاختبار تطبيق LUIS وتحليل نتائج الاختبار.
سير عمل العلاقات العامة
كما ذكرنا، يمكنك تكوين سير العمل هذا ليتم تشغيله عندما يقوم مطور برفع علاقات عامة لاقتراح تغييرات ليتم دمجها من فرع ميزة إلى الفرع الرئيسي. الغرض منه هو التحقق من جودة التغييرات في العلاقات العامة قبل دمجها في الفرع الرئيسي.
يجب أن يكون سير العمل هذا:
- قم بإنشاء تطبيق LUIS مؤقت عن طريق استيراد
.luالمصدر في العلاقات العامة. - تدريب ونشر إصدار تطبيق LUIS.
- قم بتشغيل جميع اختبارات الوحدة ضدها.
- اجتاز سير العمل إذا نجحت جميع الاختبارات ، وإلا فشلها.
- تنظيف التطبيق المؤقت وحذفه.
إذا كان SCM مدعوما، فقم بتكوين قواعد حماية الفرع بحيث يجب إكمال سير العمل هذا بنجاح قبل إكمال العلاقات العامة.
سير عمل CI/CD للفرع الرئيسي
قم بتكوين سير العمل هذا ليتم تشغيله بعد دمج التحديثات في العلاقات العامة في الفرع الرئيسي. الغرض منه هو الحفاظ على شريط الجودة لفرعك الرئيسي مرتفعا عن طريق اختبار التحديثات. إذا كانت التحديثات تفي بشريط الجودة، فإن سير العمل هذا ينشر إصدار تطبيق LUIS الجديد إلى بيئة حيث يمكنك إجراء المزيد من الاختبارات المتعمقة.
يجب أن يكون سير العمل هذا:
أنشئ إصدارا جديدا في تطبيق LUIS الأساسي (التطبيق الذي تحتفظ به للفرع الرئيسي) باستخدام شفرة المصدر المحدثة.
تدريب ونشر إصدار تطبيق LUIS.
ملاحظة
كما هو موضح في تشغيل الاختبارات في سير عمل إنشاء تلقائي ، يجب عليك نشر إصدار تطبيق LUIS قيد الاختبار بحيث تكون أدوات مثل NLU. يمكن ل DevOps الوصول إليه. يدعم LUIS فتحتي نشر مسميتين فقط، وهما التدريجوالإنتاج لتطبيق LUIS، ولكن يمكنك أيضا نشر إصدار مباشرةوالاستعلام حسب الإصدار. استخدم نشر الإصدار المباشر في مهام سير عمل التشغيل التلقائي لتجنب الاقتصار على استخدام فتحات النشر المسماة.
قم بتشغيل كافة اختبارات الوحدة.
قم اختياريا بتشغيل اختبارات الدفعات لقياس جودة ودقة إصدار تطبيق LUIS ومقارنته ببعض خطوط الأساس.
إذا اكتملت الاختبارات بنجاح:
- ضع علامة على المصدر في الريبو.
- قم بتشغيل مهمة التسليم المستمر (CD) لنشر إصدار تطبيق LUIS إلى البيئات لإجراء مزيد من الاختبارات.
التسليم المستمر (CD)
يتم تشغيل مهمة القرص المضغوط في سير عمل CI/CD بشكل مشروط عند نجاح اختبارات البنية والوحدة التلقائية. تتمثل مهمتها في نشر تطبيق LUIS تلقائيا في بيئة حيث يمكنك إجراء المزيد من الاختبارات.
لا يوجد حل واحد موصى به حول أفضل طريقة لنشر تطبيق LUIS الخاص بك، ويجب عليك تنفيذ العملية المناسبة لمشروعك. يقوم ريبو قالب LUIS DevOps بتنفيذ حل بسيط لهذا وهو نشر إصدار تطبيق LUIS الجديد إلى فتحة نشر الإنتاج . هذا جيد لإعداد بسيط. ومع ذلك ، إذا كنت بحاجة إلى دعم عدد من بيئات الإنتاج المختلفة في نفس الوقت ، مثل التطويروالتدريج و UAT، فإن الحد الأقصى لفتحتي نشر مسماتين لكل تطبيق سيثبت أنه غير كاف.
تتضمن الخيارات الأخرى لنشر إصدار تطبيق ما يلي:
- اترك إصدار التطبيق منشورا على نقطة نهاية الإصدار المباشر وقم بتنفيذ عملية لتكوين بيئات الإنتاج النهائية باستخدام نقطة نهاية الإصدار المباشر كما هو مطلوب.
- حافظ على تطبيقات LUIS المختلفة لكل بيئة إنتاج واكتب خطوات التشغيل
.luالتلقائي لاستيراد الإصدار الجديد في تطبيق LUIS لبيئة الإنتاج المستهدفة وتدريبها ونشرها. - تصدير إصدار تطبيق LUIS الذي تم اختباره إلى حاوية عامل رصيف LUIS ونشر حاوية LUIS إلى مثيلات حاوية Azure.
إدارة الإصدار
بشكل عام ، نوصي بإجراء التسليم المستمر فقط إلى البيئات غير الإنتاجية الخاصة بك ، مثل التطوير والتدريج. تتطلب معظم الفرق عملية مراجعة وموافقة يدوية للنشر في بيئة إنتاج. بالنسبة إلى نشر الإنتاج، قد ترغب في التأكد من حدوثه عندما يتوفر الأشخاص الرئيسيون في فريق التطوير للحصول على الدعم، أو خلال فترات الزيارات المنخفضة.
تطبيق DevOps لتطوير تطبيق LUIS باستخدام إجراءات GitHub
انتقل إلى ريبو قالب LUIS DevOps للحصول على حل كامل ينفذ DevOps وأفضل ممارسات هندسة البرمجيات ل LUIS. يمكنك استخدام ريبو القالب هذا لإنشاء مستودع خاص بك مع دعم مضمن لمهام سير عمل CI/CD والممارسات التي تمكن التحكم في المصدر والإنشاءات التلقائية والاختبار وإدارة الإصدار باستخدام LUIS لمشروعك الخاص.
يتجول ريبو قالب LUIS DevOps في كيفية القيام بما يلي:
- استنساخ قالب الريبو - انسخ القالب إلى مستودع GitHub الخاص بك.
- تكوين موارد LUIS - إنشاء موارد التأليف والتنبؤ ب LUIS في Azure والتي سيتم استخدامها بواسطة مهام سير عمل التكامل المستمر.
- تكوين مهام سير عمل CI/CD - تكوين معلمات لمهام سير عمل CI/CD وتخزينها في GitHub Secrets.
- يمشي عبر " الحلقة الداخلية للمطور" - يقوم المطور بإجراء تحديثات على نموذج تطبيق LUIS أثناء العمل في فرع تطوير ، ويختبر التحديثات ثم يرفع طلب سحب لاقتراح التغييرات وطلب الموافقة على المراجعة.
- تنفيذ مهام سير عمل CI/CD - تنفيذ مهام سير عملالتكامل المستمر لإنشاء تطبيق LUIS واختباره باستخدام إجراءات GitHub.
- إجراء اختبار تلقائي - إجراء اختباردفعي تلقائي لتطبيق LUIS لتقييم جودة التطبيق.
- نشر تطبيق LUIS - تنفيذ مهمة تسليم مستمر (CD) لنشر تطبيق LUIS.
- استخدام الريبو مع مشروعك الخاص - يشرح كيفية استخدام الريبو مع تطبيق LUIS الخاص بك.
الخطوات التالية
تعرف على كيفية كتابة سير عمل "إجراءات GitHub" باستخدام NLU. DevOps
استخدم ريبو قالب LUIS DevOps لتطبيق DevOps مع مشروعك الخاص.