استخدام Azure DevOps لإنشاء مسار معالجة CI/CD لوظيفة Stream Analytics

في هذه المقالة، ستتعلم كيفية إنشاء مسارات معالجة Azure DevOps للإنشاء والإصدار باستخدام أدوات CI/CD لـ Azure Stream Analytics.

تنفيذ مَشروع Stream Analytics

قبل البدء، قم بتثبيت مشاريع Stream Analytics الكاملة كملفات مصدر إلى مستودع Azure DevOps. يمكنك الرجوع إلى نموذج المستودع هذا ورمز مصدر مشروع Stream Analytics في Azure Pipelines.

تستخدم الخطوات الواردة في هذه المقالة مشروع Stream Analytics Visual Studio Code. إذا كنت تستخدم مشروع Visual Studio، فاتبع الخطوات الواردة فـي أتمتة عمليات الإنشاء والاختبارات والتوزيع لوظيفة Azure Stream Analytics باستخدام أدوات CI/CD.

أنشئ بناء خط أنابيب

في هذا القسم، سوف تتعلم كيفية إنشاء مسار معالجة الإنشاء.

  1. افتح مستعرض ويب وانتقل إلى مشروعك في Azure DevOps.

  2. ضمن مسارات المعالجة في قائمة التنقل اليمنى، حدد عمليات الإنشاء. ثم حدد مسار معالجة جديد.

    Create new Azure Pipeline

  3. حدد استخدام المحرر الكلاسيكي لإنشاء مسار معالجة دون YAML.

  4. حـدد نوع المصدر ومشروع الفريق والمستودع. ثم حدد Continue.

    Select Azure Stream Analytics project

  5. في صفحة اختيار قالب، حدد وظيفة فارغة.

تثبيت حزمة npm

  1. في صفحة المهام، حدد علامة الجمع الموجودة بجوار وظيفة العامل 1. أدخل npm في البحث عن المهام وحدد npm.

    Select npm task

  2. امنَح المهمة الاسم المعروض. غير خيار الأمر إلى مخصص وأدخل الأمر التالي في الأمر والوسيطات. اترك الخيارات الافتراضية المتبقية.

    install -g azure-streamanalytics-cicd
    

    Enter configurations for npm task

استخدم الخطوات التالية إذا كنت بحاجة إلى استخدام عامل Linux المُستضاف:

  1. حـدد مواصفات الوكيل

    Screenshot of selecting agent specification.

  2. في صفحة المهام، حدد علامة الجمع الموجودة بجوار وظيفة العامل 1. أدخل سطر الأوامر في البحث عن المهام وحدد سطر الأوامر.

    Screenshot of searching commandline task.

  3. امنَح المهمة الاسم المعروض. أدخل الأمر التالي في البرنامج النصي. اترك الخيارات الافتراضية المتبقية.

    sudo npm install -g azure-streamanalytics-cicd --unsafe-perm=true --allow-root
    

    Screenshot of entering script for cmd task.

إضافة مهمة إنشاء

  1. في صفحة المتغيرات، حدد + إضافة في متغيرات مسار المعالجة. أضف المتغيرات التالية. قم بتعيين القيم التالية وفقًا لتفضيلاتك:

    اسم المتغير القيمة‬
    projectRootPath [YourProjectName]
    outputPath الإخراج
    deployPath نشر
  2. في صفحة المهام، حدد علامة الجمع الموجودة بجوار وظيفة العامل 1. ابحث عن سطر الأوامر.

  3. امنح المهمة الاسم المعروض وأدخل البرنامج النصي التالي. قم بتعديل البرنامج النصي باسم المستودع واسم المشروع.

    إشعار

    يوصى بشدة build --v2 باستخدام لإنشاء قالب ARM للنشر. يحتوي قالب ARM الجديد على معلمات أقل مع الحفاظ على نفس الوظيفة مثل الإصدار السابق.

    يرجى ملاحظة أنه سيتم إهمال قالب ARM الأقدم قريبا، وستتلقى فقط القوالب التي تم إنشاؤها باستخدام build --v2 التحديثات وإصلاحات الأخطاء.

    azure-streamanalytics-cicd build --v2 -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(deployPath)
    

    تستخدم الصورة مشروع Stream Analytics Visual Studio Code كمثال.

    Enter configurations for command-line task visual studio code

إضافة مهمة اختبار

  1. في صفحة المتغيرات، حدد + إضافة في متغيرات مسار المعالجة. أضف المتغيرات التالية. قم بتعديل القيم باستخدام مسار الإخراج واسم المستودع.

    اسم المتغير القيمة‬
    testPath اختبار

    Add pipeline variables

  2. في صفحة المهام، حدد علامة الجمع الموجودة بجوار وظيفة العامل 1. ابحث عن سطر الأوامر.

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

    راجع إرشادات الاختبار التلقائي للحصول على تفاصيل حول كيفية إضافة حالات الاختبار وتكوينها.

    azure-streamanalytics-cicd test -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(testPath) -testConfigPath $(projectRootPath)/test/testConfig.json 
    

    Enter configurations for command-line task

إضافة مهمة نسخ ملفات

تحتاج إلى إضافة مهمة نسخ ملف لنسخ ملف ملخص الاختبار وملفات قالب Azure Resource Manager إلى مجلد البيانات الاصطناعية.

  1. في صفحة المهام، حدد + بجوار وظيفة العامل 1. ابحث عن نسخ الملفات. ثم أدخل التكوينات التالية. من خلال تعيين ** إلى المحتويات، يتم نسخ جميع ملفات نتائج الاختبار.

    المعلمة‬ الإدخال
    ‏‫اسم العرض‬ نسخ الملفات إلى: $(build.artifactstagingdirectory)
    المجلد المصدر $(system.defaultworkingdirectory)/$(outputPath)/
    المحتويات **
    المجلد الهدف $(build.artifactstagingdirectory)
  2. قم بتوسيع خيارات التحكم. حدد حتى إذا فشلت مهمة سابقة، ما لم يتم إلغاء الإنشاء في تشغيل هذه المهمة.

    Enter configurations for copy task

إضافة مهمة نشر البيانات الاصطناعية للإنشاء

  1. في صفحة المهام، حدد علامة الجمع الموجودة بجوار وظيفة العامل 1. ابحث عن نشر البيانات الاصطناعية للإنشاء وحدد الخيار باستخدام أيقونة السهم الأسود.

  2. قم بتوسيع خيارات التحكم. حدد حتى إذا فشلت مهمة سابقة، ما لم يتم إلغاء الإنشاء في تشغيل هذه المهمة.

    Enter configurations for publish task

حفظ وتشغيل

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

التحقق من نتائج الإنشاء والاختبار

يمكن العثور على ملف ملخص الاختبار وملفات Azure Resource Manager Template في المجلد المنشور.

Check build and test result

Check artifacts

الإصدار مع Azure Pipelines

في هذا القسم، سوف تتعلم كيفية إصدار مسار معالجة.

افتح مستعرض ويب وانتقل إلى مشروع Azure Stream Analytics Visual Studio Code.

  1. ضمن مسارات المعالجة في قائمة التنقل اليمنى، حدد عمليات الإصدار. ثم حدد مسار معالجة جديد.

  2. حدد البدء بوظيفة فارغة.

  3. في مربع البيانات الاصطناعية، حدد + إضافة بيانات اصطناعية. ضمن المصدر، حدد مسار معالجة الإنشاء الذي قمت بإنشائه وحدد إضافة.

    Enter build pipeline artifact

  4. قم بتغيير اسم المرحلة 1 إلى توزيع الوظيفة لاختبار البيئة.

  5. أضف مرحلة جديدة وسمها توزيع الوظيفة إلى بيئة التشغيل.

إضافة مهام التوزيع

إشعار

Override template parameters لا ينطبق على إصدارات ARM --v2 حيث يتم تمرير المعلمات ككائنات. لمعالجة ذلك، يوصى بتضمين برنامج نصي PowerShell في البنية الأساسية لبرنامج ربط العمليات التجارية لقراءة ملف المعلمة ك JSON وإجراء تعديلات المعلمة الضرورية.

لمزيد من الإرشادات حول إضافة البرنامج النصي PowerShell، يرجى الرجوع إلى ConvertFrom-Json وتحديث الكائن في ملف JSON.

  1. من القائمة المنسدلة للمهام، حدد توزيع الوظيفة إلى بيئة التشغيل.

  2. حدد + بجوار وظيفة العامل وابحث عن توزيع قالب ARM. أدخل المعلمات التالية:

    المعلمة القيمة
    ‏‫اسم العرض‬ توزيع myASAProject
    اشتراك Azure اختر اشتراكك.
    الإجراء إنشاء أو تحديث مجموعة الموارد
    مجموعة الموارد اختر اسمًا لمجموعة موارد الاختبار التي ستحتوي على وظيفة Stream Analytics.
    الموقع اختر موقع مجموعة موارد الاختبار.
    موقع القالب البيانات الاصطناعية المُرتبطة
    Template $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json
    معلمات القالب $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json
    Override template parameters -<arm_template_parameter> «القيمة الخاصة بك». يمكنك تعريف المعلمات باستخدام المتغيرات.
    وضع التوزيع الإضافية
  3. مـن القائمة المنسدلة للمهام، حدد توزيع الوظيفة إلى بيئة التشغيل.

  4. حدد + بجوار وظيفة العامل وابحث عن توزيع قالب ARM. أدخل المعلمات التالية:

    المعلمة القيمة
    ‏‫اسم العرض‬ توزيع myASAProject
    اشتراك Azure اختر اشتراكك.
    الإجراء إنشاء أو تحديث مجموعة الموارد
    مجموعة الموارد اختر اسمًا لمجموعة موارد التشغيل التي ستحتوي على وظيفة Stream Analytics.
    الموقع اختر موقع مجموعة موارد التشغيل.
    موقع القالب البيانات الاصطناعية المُرتبطة
    Template $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json
    معلمات القالب $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json
    Override template parameters -<arm_template_parameter> «القيمة الخاصة بك»
    وضع التوزيع الإضافية

إنشاء إصدار

لإنشاء إصدار، حدد إنشاء إصدار في الزاوية العلوية اليسرى.

Create a release using Azure Pipelines

الخطوات التالية