التكامل المستمر والنشر المستمر إلى أجهزة Azure IoT Edge
ينطبق على: IoT Edge 1.5 IoT Edge 1.4
هام
IoT Edge 1.5 LTS وIoT Edge 1.4 LTS هي إصدارات مدعومة. IoT Edge 1.4 LTS هو نهاية العمر الافتراضي في 12 نوفمبر 2024. إذا كنت تستخدم إصدارا سابقا، فشاهد تحديث IoT Edge.
يمكنك بسهولة اعتماد DevOps مع تطبيقات Azure IoT Edge مع مهام Azure IoT Edge المضمنة في Azure Pipelines. توضح هذه المقالة كيفية استخدام Azure Pipelines لإنشاء واختبار ونشر وحدات Azure IoT Edge باستخدام YAML. بدلا من ذلك، يمكنك استخدام المحرر الكلاسيكي.
في هذه المقالة، ستتعلم كيفية استخدام مهام Azure IoT Edge المضمنة ل Azure Pipelines لإنشاء مسارات الإنشاء والإصدار لحل IoT Edge الخاص بك. تنفذ كل مهمة من مهام Azure IoT Edge المضافة إلى البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك أحد الإجراءات الأربعة التالية:
الإجراء | الوصف |
---|---|
إنشاء صور الوحدة النمطية | يأخذ رمز حل IoT Edge الخاص بك وينشئ صور الحاوية. |
دفع صور الوحدة النمطية | يدفع صور الوحدة النمطية إلى سجل الحاوية الذي حددته. |
إنشاء بيان التوزيع | يأخذ ملف deployment.template.json والمتغيرات، ثم ينشئ ملف بيان نشر IoT Edge النهائي. |
النشر على أجهزة IoT Edge | إنشاء عمليات نشر IoT Edge إلى جهاز واحد أو أكثر من أجهزة IoT Edge. |
ما لم يتم تحديد خلاف ذلك، لا تستكشف الإجراءات الواردة في هذه المقالة جميع الوظائف المتوفرة من خلال معلمات المهمة. لمزيد من المعلومات، راجع الموارد التالية:
المتطلبات الأساسية
مستودع Azure Repos. إذا لم يكن لديك واحد، يمكنك إنشاء مستودع Git جديد في مشروعك. بالنسبة لهذه المقالة، أنشأنا مستودعا يسمى IoTEdgeRepo.
تم الالتزام بحل IoT Edge ودفعه إلى المستودع الخاص بك. إذا كنت ترغب في إنشاء نموذج حل جديد لاختبار هذه المقالة، فاتبع الخطوات الواردة في تطوير وحدات Azure IoT Edge النمطية باستخدام Visual Studio Code. بالنسبة لهذه المقالة، أنشأنا حلا في مستودعنا يسمى IoTEdgeSolution، والذي يحتوي على التعليمات البرمجية لوحدة نمطية تسمى filtermodule.
بالنسبة لهذه المقالة، كل ما تحتاجه هو مجلد الحل الذي تم إنشاؤه بواسطة قوالب IoT Edge إما في Visual Studio Code أو Visual Studio. لا تحتاج إلى إنشاء هذه التعليمة البرمجية أو دفعها أو نشرها أو تصحيحها قبل المتابعة. ستقوم بإعداد هذه العمليات في Azure Pipelines.
تعرف على المسار إلى ملف deployment.template.json في الحل الخاص بك، والذي يتم استخدامه في عدة خطوات. إذا لم تكن على دراية بدور قالب النشر، فشاهد التعرف على كيفية نشر الوحدات النمطية وإنشاء المسارات.
تلميح
إذا كنت تقوم بإنشاء حل جديد، فنسخ المستودع محليا أولا. بعد ذلك، عند إنشاء الحل، يمكنك اختيار إنشائه مباشرة في مجلد المستودع. يمكنك بسهولة تثبيت الملفات الجديدة ودفعها من هناك.
سجل حاوية حيث يمكنك دفع صور الوحدة النمطية. يمكنك استخدام Azure Container Registry أو سجل جهة خارجية.
مركز Azure IoT نشط مع جهازين IoT Edge على الأقل لاختبار مراحل توزيع الاختبار والإنتاج المنفصلة. يمكنك متابعة مقالات التشغيل السريع لإنشاء جهاز IoT Edge على Linux أو Windows
لمزيد من المعلومات حول استخدام Azure Repos، راجع مشاركة التعليمات البرمجية الخاصة بك مع Visual Studio وAzure Repos.
إنشاء مسار بناء للتكامل المستمر
في هذا القسم، يمكنك إنشاء مسار بناء جديد. يمكنك تكوين البنية الأساسية لبرنامج ربط العمليات التجارية للتشغيل تلقائيا عند إيداع أي تغييرات على نموذج حل IoT Edge ونشر سجلات الإنشاء.
سجل الدخول إلى مؤسسة Azure DevOps (
https://dev.azure.com/{your organization}
) وافتح المشروع الذي يحتوي على مستودع حلول IoT Edge.من قائمة الجزء الأيمن في مشروعك، حدد Pipelines. حدد Create Pipeline في وسط الصفحة. أو، إذا كان لديك مسارات بناء بالفعل، فحدد الزر New pipeline في أعلى اليمين.
في الصفحة أين هي التعليمات البرمجية الخاصة بك؟ ، حدد Azure Repos Git
YAML
. إذا كنت ترغب في استخدام المحرر الكلاسيكي لإنشاء مسارات بناء مشروعك، فشاهد دليل المحرر الكلاسيكي.حدد المستودع الذي تقوم بإنشاء مسار له.
في صفحة Configure your pipeline ، حدد Starter pipeline. إذا كان لديك ملف YAML ل Azure Pipelines موجود مسبقا ترغب في استخدامه لإنشاء هذا المسار، يمكنك تحديد ملف YAML لخطوط أنابيب Azure الموجودة وتوفير الفرع والمسار في المستودع إلى الملف.
في صفحة Review your pipeline YAML ، يمكنك تحديد الاسم
azure-pipelines.yml
الافتراضي لإعادة تسمية ملف تكوين البنية الأساسية لبرنامج ربط العمليات التجارية.حدد إظهار المساعد لفتح لوحة المهام .
لإضافة مهمة، ضع المؤشر في نهاية YAML أو في أي مكان تريد إضافة الإرشادات لمهمتك. ابحث عن Azure IoT Edge وحدده. املأ معلمات المهمة كما يلي. ثم حدد Add.
المعلمة الوصف الإجراء حدد Build module images. ملف .template.json قم بتوفير المسار إلى ملف deployment.template.json في المستودع الذي يحتوي على حل IoT Edge. النظام الأساسي الافتراضي حدد نظام التشغيل المناسب للوحدات النمطية الخاصة بك استنادا إلى جهاز IoT Edge المستهدف. لمزيد من المعلومات حول هذه المهمة ومعلماتها، راجع مهمة Azure IoT Edge.
تلميح
بعد إضافة كل مهمة، سيقوم المحرر تلقائيا بتمييز الأسطر المضافة. لمنع الكتابة فوق العرضي، قم بإلغاء تحديد الأسطر وتوفير مساحة جديدة لمهمتك التالية قبل إضافة مهام إضافية.
كرر هذه العملية لإضافة ثلاث مهام أخرى باستخدام المعلمات التالية:
المهمة: Azure IoT Edge
المعلمة الوصف الإجراء حدد دفع صور الوحدة النمطية. نوع سجل الحاوية استخدم النوع الافتراضي: Azure Container Registry. اشتراك Azure حدد Subscription الخاص بك. Azure Container Registry اختر السجل الذي تريد استخدامه للبنية الأساسية لبرنامج ربط العمليات التجارية. ملف .template.json قم بتوفير المسار إلى ملف deployment.template.json في المستودع الذي يحتوي على حل IoT Edge. النظام الأساسي الافتراضي حدد نظام التشغيل المناسب للوحدات النمطية الخاصة بك استنادا إلى جهاز IoT Edge المستهدف. لمزيد من المعلومات حول هذه المهمة ومعلماتها، راجع مهمة Azure IoT Edge.
المهمة: نسخ الملفات
المعلمة الوصف المجلد المصدر المجلد المصدر المراد النسخ منه. فارغ هو جذر المستودع. استخدم المتغيرات إذا لم تكن الملفات في المستودع. مثال: $(agent.builddirectory)
.المحتويات أضف سطرين: deployment.template.json
و**/module.json
.المجلد الهدف حدد المتغير $(Build.ArtifactStagingDirectory)
. راجع إنشاء متغيرات للتعرف على الوصف.لمزيد من المعلومات حول هذه المهمة ومعلماتها، راجع مهمة نسخ الملفات.
المهمة: نشر البيانات الاصطناعية للبناء
المعلمة الوصف مسار النشر حدد المتغير $(Build.ArtifactStagingDirectory)
. راجع إنشاء متغيرات للتعرف على الوصف.اسم البيانات الاصطناعية حدد الاسم الافتراضي: drop
موقع نشر البيانات الاصطناعية استخدم الموقع الافتراضي: Azure Pipelines
لمزيد من المعلومات حول هذه المهمة ومعلماتها، راجع مهمة نشر البيانات الاصطناعية للبناء.
حدد Save من القائمة المنسدلة Save and run في أعلى اليمين.
يتم تمكين مشغل التكامل المستمر بشكل افتراضي لمسار YAML الخاص بك. إذا كنت ترغب في تحرير هذه الإعدادات، فحدد البنية الأساسية لبرنامج ربط العمليات التجارية وحدد تحرير في أعلى اليمين. حدد المزيد من الإجراءات بجوار الزر تشغيل في أعلى اليمين وانتقل إلى المشغلات. يظهر التكامل المستمر على أنه ممكن تحت اسم البنية الأساسية لبرنامج ربط العمليات التجارية. إذا كنت ترغب في رؤية تفاصيل المشغل، فتحقق من المربع تجاوز مشغل التكامل المستمر YAML من هنا .
تابع إلى القسم التالي لإنشاء مسار الإصدار.
إنشاء مسار إصدار للتوزيع المستمر
في هذا القسم، يمكنك إنشاء مسار إصدار تم تكوينه للتشغيل تلقائيا عند إسقاط البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك، ويعرض سجلات النشر في Azure Pipelines.
إنشاء مسار جديد، وإضافة مرحلة جديدة:
في علامة التبويب Releases ضمن Pipelines، اختر + New pipeline. أو، إذا كان لديك مسارات إصدار بالفعل، فاختر الزر + New وحدد + New release pipeline.
عند مطالبتك بتحديد قالب، اختر البدء بوظيفة فارغة.
تتم تهيئة مسار الإصدار الجديد الخاص بك بمرحلة واحدة، تسمى المرحلة 1. أعد تسمية المرحلة 1 للتطوير ومعاملتها كبنية أساسية لبرنامج ربط العمليات التجارية للتوزيع المستمر لبيئة التطوير الخاصة بك. عادة ما يكون لمسارات التوزيع المستمر مراحل متعددة بما في ذلك التطوير والتقسيم المرحلي والتحريج. يمكنك استخدام أسماء مختلفة وإنشاء المزيد استنادا إلى ممارسة DevOps. أغلق نافذة تفاصيل المرحلة بمجرد إعادة تسميتها.
يمكنك أيضا إعادة تسمية مسار الإصدار الخاص بك عن طريق تحديد نص "مسار الإصدار الجديد" في الأعلى.
ربط الإصدار بالأدوات الخاصة بالبناء التي يتم نشرها بواسطة البنية الأساسية لبرنامج ربط العمليات التجارية للبناء. حدد إضافة في منطقة البيانات الاصطناعية.
في صفحة Add an artifact، حدد Build كنوع المصدر. اختر المشروع وبنية البنية الأساسية لبرنامج ربط العمليات التجارية التي أنشأتها. إذا كنت ترغب في ذلك، يمكنك تغيير الاسم المستعار المصدر إلى شيء وصفي أكثر. ثم حدد Add.
افتح مشغلات البيانات الاصطناعية وحدد التبديل لتمكين مشغل التوزيع المستمر. الآن، يتم إنشاء إصدار جديد في كل مرة يتوفر فيها إصدار جديد.
تم تكوين مرحلة التطوير مسبقا بمهمة واحدة ومهام صفرية. من قائمة البنية الأساسية لبرنامج ربط العمليات التجارية، حدد المهام ثم اختر مرحلة التطوير. حدد مهمة العامل وغير اسم العرض الخاص بها إلى سؤالجواب. يمكنك تكوين تفاصيل حول مهمة العامل، ولكن مهمة التوزيع غير حساسة للنظام الأساسي حتى تتمكن من استخدام أي مواصفات عامل في تجمع العامل المختار.
في مهمة سؤالجواب، حدد علامة الجمع (+) لإضافة مهمتين. ابحث عن Azure IoT Edge وأضفه مرتين.
حدد أول مهمة Azure IoT Edge وقم بتكوينها بالقيم التالية:
المعلمة الوصف اسم العرض يتم تحديث اسم العرض تلقائيا عند تغيير حقل الإجراء. الإجراء حدد Generate deployment manifest
.ملف .template.json حدد المسار: $(System.DefaultWorkingDirectory)/Drop/drop/deployment.template.json
. يتم نشر المسار من البنية الأساسية لبرنامج ربط العمليات التجارية للبناء.النظام الأساسي الافتراضي حدد نظام التشغيل المناسب للوحدات النمطية الخاصة بك استنادا إلى جهاز IoT Edge المستهدف. مسار الإخراج ضع المسار $(System.DefaultWorkingDirectory)/Drop/drop/configs/deployment.json
. هذا المسار هو ملف بيان نشر IoT Edge النهائي.تساعد هذه التكوينات في استبدال عناوين URL لصورة الوحدة النمطية في
deployment.template.json
الملف. يساعد إنشاء بيان التوزيع أيضا على استبدال المتغيرات بالقيمة الدقيقة التي حددتها فيdeployment.template.json
الملف. في Visual Studio/Visual Studio Code، تقوم بتحديد القيمة الفعلية في.env
ملف. في Azure Pipelines، يمكنك تعيين القيمة في علامة التبويب Release Pipeline Variables . انتقل إلى علامة التبويب Variables وقم بتكوين الاسم والقيمة كما يلي:- ACR_ADDRESS: قيمة خادم تسجيل الدخول إلى Azure Container Registry. يمكنك استرداد خادم تسجيل الدخول من صفحة النظرة العامة الخاصة بسجل الحاوية في مدخل Azure.
- ACR_PASSWORD: كلمة مرور Azure Container Registry.
- ACR_USER: اسم مستخدم Azure Container Registry.
إذا كان لديك متغيرات أخرى في مشروعك، يمكنك تحديد الاسم والقيمة في علامة التبويب هذه. يمكن أن يتعرف بيان إنشاء التوزيع فقط على المتغيرات الموجودة في
${VARIABLE}
النكهة. تأكد من استخدام هذه النكهة في ملفاتك*.template.json
."registryCredentials": { "<ACR name>": { // Your Azure Container Registry **Registry name** value "username": "${ACR_USER}", "password": "${ACR_PASSWORD}", "address": "${ACR_ADDRESS}" } }
حدد مهمة Azure IoT Edge الثانية وقم بتكوينها بالقيم التالية:
المعلمة الوصف اسم العرض يتم تحديث اسم العرض تلقائيا عند تغيير حقل الإجراء. الإجراء حدد Deploy to IoT Edge devices
.ملف التوزيع ضع المسار $(System.DefaultWorkingDirectory)/Drop/drop/configs/deployment.json
. هذا المسار هو ملف ملف بيان نشر IoT Edge.اشتراك Azure حدد الاشتراك الذي يحتوي على IoT Hub الخاص بك. IoT Hub name حدد مركز IoT. اختيار جهاز واحد/متعدد اختر ما إذا كنت تريد نشر البنية الأساسية لبرنامج ربط العمليات التجارية للإصدار على جهاز واحد أو عدة أجهزة. إذا قمت بالنشر على جهاز واحد، أدخل معرف جهاز IoT Edge. إذا كنت تقوم بالنشر على أجهزة متعددة، فحدد حالة هدف الجهاز. الشرط الهدف هو عامل تصفية لمطابقة مجموعة من أجهزة IoT Edge في IoT Hub. إذا كنت ترغب في استخدام علامات الجهاز كشرط، فأنت بحاجة إلى تحديث علامات الأجهزة المقابلة باستخدام جهاز IoT Hub المزدوج. تحديث معرف نشر IoT Edge وأولوية نشر IoT Edge في الإعدادات المتقدمة. لمزيد من المعلومات حول إنشاء نشر لأجهزة متعددة، راجع فهم عمليات التوزيع التلقائية ل IoT Edge. معرف الجهاز أو شرط الهدف اعتمادا على التحديد السابق، حدد معرف الجهاز أو شرط الهدف للنشر على أجهزة متعددة. خيارات متقدمة بالنسبة لمعرف نشر IoT Edge، حدد $(System.TeamProject)-$(Release.EnvironmentName)
. يعين هذا المتغير اسم المشروع والإصدار مع معرف نشر IoT Edge.إذا كانت مهمتك تتضمن استخدام صورة موجودة في Docker Trusted Registry خاص غير مرئي للسحابة العامة، يمكنك تعيين متغير البيئة SKIP_MODULE_IMAGE_VALIDATION لتخطي
true
التحقق من صحة الصورة.حدد حفظ لحفظ التغييرات التي أجريتها على مسار الإصدار الجديد. ارجع إلى طريقة عرض المسار عن طريق تحديد علامة التبويب Pipeline من القائمة.
تحقق من IoT Edge CI/CD باستخدام البنية الأساسية لبرنامج ربط العمليات التجارية للإنشاء والإصدار
لتشغيل مهمة بناء، يمكنك إما دفع الالتزام إلى مستودع التعليمات البرمجية المصدر أو تشغيله يدويا. في هذا القسم، يمكنك تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD يدويا لاختبار أنه يعمل. ثم تحقق من نجاح النشر.
من قائمة الجزء الأيمن، حدد Pipelines وافتح البنية الأساسية لبرنامج ربط العمليات التجارية التي قمت بإنشائها في بداية هذه المقالة.
يمكنك تشغيل مهمة بناء في البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك عن طريق تحديد الزر Run pipeline في أعلى اليمين.
راجع إعدادات تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية. ثم حدد Run.
حدد Agent job 1 لمشاهدة تقدم التشغيل. يمكنك مراجعة سجلات إخراج الوظيفة عن طريق تحديد الوظيفة.
إذا تم إكمال البنية الأساسية لبرنامج ربط العمليات التجارية للبناء بنجاح، فإنه يؤدي إلى إصدار إلى مرحلة التطوير . ينشئ إصدار التطوير الناجح نشر IoT Edge لاستهداف أجهزة IoT Edge.
حدد مرحلة التطوير لمشاهدة سجلات الإصدار.
إذا فشلت البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك، فابدأ بالنظر إلى السجلات. يمكنك عرض السجلات عن طريق الانتقال إلى ملخص تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية وتحديد المهمة والمهمة. إذا فشلت مهمة معينة، فتحقق من سجلات تلك المهمة. للحصول على إرشادات مفصلة لتكوين السجلات واستخدامها، راجع مراجعة السجلات لتشخيص مشكلات البنية الأساسية لبرنامج ربط العمليات التجارية.
الخطوات التالية
- فهم توزيع IoT Edge في فهم عمليات توزيع IoT Edge للأجهزة الفردية أو على نطاق واسع
- اطلع على خطوات إنشاء نشر أو تحديثه أو حذفه في نشر وحدات IoT Edge ومراقبتها على نطاق واسع.
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ