AzureIoTEdge@2 - مهمة Azure IoT Edge v2

استخدم هذه المهمة لإنشاء الصور وتوزيعها بسرعة وكفاءة إلى Azure IoT Edge.

تدعم هذه المهمة المتغيرات المخصصة. إذا لم تكن على دراية بكيفية استخدام المتغيرات في البنية الأساسية لبرنامج ربط العمليات التجارية، فراجع تعريف المتغيرات.

بناء الجملة

# Azure IoT Edge v2
# Build and deploy an Azure IoT Edge image.
- task: AzureIoTEdge@2
  inputs:
    action: 'Build module images' # 'Build module images' | 'Push module images' | 'Generate deployment manifest' | 'Deploy to IoT Edge devices'. Required. Action. Default: Build module images.
    #deploymentFilePath: '$(System.DefaultWorkingDirectory)/config/deployment.json' # string. Required when action == Deploy to IoT Edge devices. Deployment file. Default: $(System.DefaultWorkingDirectory)/config/deployment.json.
    #azureSubscription: # string. Alias: connectedServiceNameARM. Required when action == Deploy to IoT Edge devices. Azure subscription contains IoT Hub. 
    #iothubname: # string. Required when action == Deploy to IoT Edge devices. IoT Hub name. 
    #deviceOption: # 'Single Device' | 'Multiple Devices'. Required when action == Deploy to IoT Edge devices. Choose single/multiple device. 
    #deviceId: # string. Required when deviceOption == Single Device. IoT Edge device ID. 
    #targetcondition: # string. Required when deviceOption == Multiple Devices. IoT Edge device target condition. 
    #containerregistrytype: 'Azure Container Registry' # 'Azure Container Registry' | 'Generic Container Registry'. Required when action = Push module images. Container registry type. Default: Azure Container Registry.
    #dockerRegistryConnection: # string. Alias: dockerRegistryEndpoint. Required when containerregistrytype = Generic Container Registry. Docker Registry Connection. 
    #azureSubscriptionEndpoint: # string. Optional. Use when containerregistrytype = Azure Container Registry. Azure subscription. 
    #azureContainerRegistry: # string. Required when containerregistrytype = Azure Container Registry. Azure Container Registry. 
    #templateFilePath: 'deployment.template.json' # string. Required when action = Build module images || action = Push module images || action = Generate deployment manifest. .template.json file. Default: deployment.template.json.
    #defaultPlatform: 'amd64' # 'amd64' | 'windows-amd64' | 'arm32v7' | 'arm64v8'. Required when action = Build module images || action = Push module images || action = Generate deployment manifest. Default platform. Default: amd64.
    #fillRegistryCredential: 'true' # 'true' | 'false'. Required when action = Push module images. Add registry credential to deployment manifest. Default: true.
    #deploymentManifestOutputPath: '$(System.DefaultWorkingDirectory)/config/deployment.json' # string. Required when action == Generate deployment manifest. Output path. Default: $(System.DefaultWorkingDirectory)/config/deployment.json.
    #validateGeneratedDeploymentManifest: 'false' # 'true' | 'false'. Required when action = Generate deployment manifest. Validate the schema of generated deployment manifest. Default: false.
  # Advanced
    #deploymentid: '$(System.TeamProject)-devops-deployment' # string. Required when action = Deploy to IoT Edge devices. IoT Edge deployment ID. Default: $(System.TeamProject)-devops-deployment.
    #priority: '0' # string. Required when action = Deploy to IoT Edge devices. IoT Edge deployment priority. Default: 0.
  # Advanced
    #bypassModules: # string. Optional. Use when action = Push module images. Bypass module(s).
# Azure IoT Edge v2
# Build and deploy an Azure IoT Edge image.
- task: AzureIoTEdge@2
  inputs:
    action: 'Build module images' # 'Build module images' | 'Push module images' | 'Generate deployment manifest' | 'Deploy to IoT Edge devices'. Required. Action. Default: Build module images.
    #deploymentFilePath: '$(System.DefaultWorkingDirectory)/config/deployment.json' # string. Required when action == Deploy to IoT Edge devices. Deployment file. Default: $(System.DefaultWorkingDirectory)/config/deployment.json.
    #azureSubscription: # string. Alias: connectedServiceNameARM. Required when action == Deploy to IoT Edge devices. Azure subscription contains IoT Hub. 
    #iothubname: # string. Required when action == Deploy to IoT Edge devices. IoT Hub name. 
    #deviceOption: # 'Single Device' | 'Multiple Devices'. Required when action == Deploy to IoT Edge devices. Choose single/multiple device. 
    #deviceId: # string. Required when deviceOption == Single Device. IoT Edge device ID. 
    #targetcondition: # string. Required when deviceOption == Multiple Devices. IoT Edge device target condition. 
    #containerregistrytype: 'Azure Container Registry' # 'Azure Container Registry' | 'Generic Container Registry'. Required when action = Push module images. Container registry type. Default: Azure Container Registry.
    #dockerRegistryConnection: # string. Alias: dockerRegistryEndpoint. Required when containerregistrytype = Generic Container Registry. Docker Registry Connection. 
    #azureSubscriptionEndpoint: # string. Optional. Use when containerregistrytype = Azure Container Registry. Azure subscription. 
    #azureContainerRegistry: # string. Required when containerregistrytype = Azure Container Registry. Azure Container Registry. 
    #templateFilePath: 'deployment.template.json' # string. Required when action = Build module images || action = Push module images || action = Generate deployment manifest. .template.json file. Default: deployment.template.json.
    #defaultPlatform: 'amd64' # 'amd64' | 'windows-amd64' | 'arm32v7'. Required when action = Build module images || action = Push module images || action = Generate deployment manifest. Default platform. Default: amd64.
    #fillRegistryCredential: 'true' # 'true' | 'false'. Required when action = Push module images. Add registry credential to deployment manifest. Default: true.
    #deploymentManifestOutputPath: '$(System.DefaultWorkingDirectory)/config/deployment.json' # string. Required when action == Generate deployment manifest. Output path. Default: $(System.DefaultWorkingDirectory)/config/deployment.json.
    #validateGeneratedDeploymentManifest: 'false' # 'true' | 'false'. Required when action = Generate deployment manifest. Validate the schema of generated deployment manifest. Default: false.
  # Advanced
    #deploymentid: '$(System.TeamProject)-devops-deployment' # string. Required when action = Deploy to IoT Edge devices. IoT Edge deployment ID. Default: $(System.TeamProject)-devops-deployment.
    #priority: '0' # string. Required when action = Deploy to IoT Edge devices. IoT Edge deployment priority. Default: 0.
  # Advanced
    #bypassModules: # string. Optional. Use when action = Push module images. Bypass module(s).
# Azure IoT Edge v2
# Build and deploy an Azure IoT Edge image.
- task: AzureIoTEdge@2
  inputs:
    action: 'Build module images' # 'Build module images' | 'Push module images' | 'Generate deployment manifest' | 'Deploy to IoT Edge devices'. Required. Action. Default: Build module images.
    #deploymentFilePath: '$(System.DefaultWorkingDirectory)/config/deployment.json' # string. Required when action == Deploy to IoT Edge devices. Deployment file. Default: $(System.DefaultWorkingDirectory)/config/deployment.json.
    #azureSubscription: # string. Alias: connectedServiceNameARM. Required when action == Deploy to IoT Edge devices. Azure subscription contains IoT Hub. 
    #iothubname: # string. Required when action == Deploy to IoT Edge devices. IoT Hub name. 
    #deviceOption: # 'Single Device' | 'Multiple Devices'. Required when action == Deploy to IoT Edge devices. Choose single/multiple device. 
    #deviceId: # string. Required when deviceOption == Single Device. IoT Edge device ID. 
    #targetcondition: # string. Required when deviceOption == Multiple Devices. IoT Edge device target condition. 
    #containerregistrytype: 'Azure Container Registry' # 'Azure Container Registry' | 'Generic Container Registry'. Required when action = Push module images. Container registry type. Default: Azure Container Registry.
    #dockerRegistryConnection: # string. Alias: dockerRegistryEndpoint. Required when containerregistrytype = Generic Container Registry. Docker Registry Connection. 
    #azureSubscriptionEndpoint: # string. Optional. Use when containerregistrytype = Azure Container Registry. Azure subscription. 
    #azureContainerRegistry: # string. Required when containerregistrytype = Azure Container Registry. Azure Container Registry. 
    #templateFilePath: 'deployment.template.json' # string. Required when action = Build module images || action = Push module images || action = Generate deployment manifest. .template.json file. Default: deployment.template.json.
    #defaultPlatform: 'amd64' # 'amd64' | 'windows-amd64' | 'arm32v7'. Required when action = Build module images || action = Push module images || action = Generate deployment manifest. Default platform. Default: amd64.
    #fillRegistryCredential: 'true' # 'true' | 'false'. Required when action = Push module images. Add registry credential to deployment manifest. Default: true.
    #deploymentManifestOutputPath: '$(System.DefaultWorkingDirectory)/config/deployment.json' # string. Required when action == Generate deployment manifest. Output path. Default: $(System.DefaultWorkingDirectory)/config/deployment.json.
  # Advanced
    #deploymentid: '$(System.TeamProject)-devops-deployment' # string. Required when action = Deploy to IoT Edge devices. IoT Edge deployment ID. Default: $(System.TeamProject)-devops-deployment.
    #priority: '0' # string. Required when action = Deploy to IoT Edge devices. IoT Edge deployment priority. Default: 0.
  # Advanced
    #bypassModules: # string. Optional. Use when action = Push module images. Bypass module(s).

الإدخالات

action - العمل
string. مطلوب القيم المسموح بها: Build module images، Push module images، Generate deployment manifest، Deploy to IoT Edge devices. القيمة الافتراضية: Build module images.

تحديد إجراء Azure IoT Edge.

Build module images ينشئ وحدات نمطية فقط (يمكنك استخدامها للتحقق من أخطاء التحويل البرمجي).

Push module images يدفع الوحدات النمطية إلى سجل الحاوية.

Deploy to IoT Edge devices نشر ملف التوزيع الذي تم إنشاؤه إلى IoT Hub. (نوصي بوضع Deploy المهمة في البنية الأساسية لبرنامج ربط العمليات التجارية للإصدار.)


deploymentFilePath - ملف التوزيع
string. مطلوب عند action == Deploy to IoT Edge devices. القيمة الافتراضية: $(System.DefaultWorkingDirectory)/config/deployment.json.

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


azureSubscription - يحتوي اشتراك Azure على IoT Hub
الاسم المستعار للإدخل: connectedServiceNameARM. string. مطلوب عند action == Deploy to IoT Edge devices.

يحدد اشتراك Azure الذي يحتوي على IoT Hub.


iothubname - اسم IoT Hub
string. مطلوب عند action == Deploy to IoT Edge devices.

تحديد IoT Hub.


deploymentid - معرف توزيع IoT Edge
string. مطلوب عند action = Deploy to IoT Edge devices. القيمة الافتراضية: $(System.TeamProject)-devops-deployment.

إدخال معرف توزيع IoT Edge. إذا كان المعرف موجودا بالفعل، فسيتم تجاوزه. يحتوي هذا على ما يصل إلى 128 حرفا وأرقاما صغيرة، ويسمح بالأحرف التالية: -:+%_#*?!(),=@;'. لمزيد من المعلومات، راجع نشر Azure IoT Edge.


priority - أولوية توزيع IoT Edge
string. مطلوب عند action = Deploy to IoT Edge devices. القيمة الافتراضية: 0.

priority تعيين إلى عدد صحيح موجب لحل تعارضات التوزيع. عند استهداف هذه المهمة من خلال عمليات توزيع متعددة، سيستخدم الجهاز الجهاز ذي الأولوية القصوى أو، في حالة توزيعين بنفس الأولوية، أحدث وقت إنشاء. لمزيد من المعلومات، راجع نشر Azure IoT Edge.


deviceOption - اختيار جهاز واحد/متعدد
string. مطلوب عند action == Deploy to IoT Edge devices. القيم المسموح بها: Single Device، . Multiple Devices

وفقا للعلامات، يختار التوزيع على أجهزة فردية أو متعددة.


deviceId - معرف جهاز IoT Edge
string. مطلوب عند deviceOption == Single Device.

إدخال IoT Edge device ID.


targetcondition - شرط هدف جهاز IoT Edge
string. مطلوب عند deviceOption == Multiple Devices.

إدخال الأجهزة التي target condition ترغب في نشرها. لا تستخدم علامات الاقتباس المزدوجة. مثال: tags.building=9 و tags.environment='test'. لمزيد من المعلومات، راجع نشر Azure IoT Edge.


containerregistrytype - نوع سجل الحاوية
string. مطلوب عند action = Push module images. القيم المسموح بها: Azure Container Registry، . Generic Container Registry القيمة الافتراضية: Azure Container Registry.

Container Registry Typeيحدد . Azure Container Registry هو ل ACR، وهو Generic Container Registry للسجلات العامة بما في ذلك مركز docker.


dockerRegistryConnection - اتصال سجل Docker
الاسم المستعار للإدخل: dockerRegistryEndpoint. string. مطلوب عند containerregistrytype = Generic Container Registry.

تحديد اتصال سجل Docker عام. هذا مطلوب للبناء والدفع.


azureSubscriptionEndpoint - اشتراك Azure
string. ‏‏اختياري. استخدم عندما containerregistrytype = Azure Container Registry.

تحديد اشتراك Azure.


azureContainerRegistry - Azure Container Registry
string. مطلوب عند containerregistrytype = Azure Container Registry.

تحديد Azure Container Registry.


templateFilePath - ملف .template.json
string. مطلوب عند action = Build module images || action = Push module images || action = Generate deployment manifest. القيمة الافتراضية: deployment.template.json.

مسار حل .template.jsonAzure IoT Edge . يحدد هذا الملف الوحدات والمسارات في حل Azure IoT Edge. يجب أن ينتهي اسم الملف ب .template.json.


defaultPlatform - النظام الأساسي الافتراضي
string. مطلوب عند action = Build module images || action = Push module images || action = Generate deployment manifest. القيم المسموح بها: amd64، windows-amd64، arm32v7، arm64v8. القيمة الافتراضية: amd64.

.template.jsonفي ، يمكنك ترك النظام الأساسي للوحدات النمطية غير محدد. بالنسبة لهذه الوحدات النمطية، سيتم استخدام النظام الأساسي الافتراضي.


defaultPlatform - النظام الأساسي الافتراضي
string. مطلوب عند action = Build module images || action = Push module images || action = Generate deployment manifest. القيم المسموح بها: amd64، ، windows-amd64arm32v7. القيمة الافتراضية: amd64.

.template.jsonفي ، يمكنك ترك النظام الأساسي للوحدات النمطية غير محدد. بالنسبة لهذه الوحدات النمطية، سيتم استخدام النظام الأساسي الافتراضي.


fillRegistryCredential - إضافة بيانات اعتماد السجل إلى بيان التوزيع
string. مطلوب عند action = Push module images. القيم المسموح بها: true، . false القيمة الافتراضية: true.

يضيف بيانات اعتماد السجل لدفع صور docker إلى بيان التوزيع.


deploymentManifestOutputPath - مسار الإخراج
string. مطلوب عند action == Generate deployment manifest. القيمة الافتراضية: $(System.DefaultWorkingDirectory)/config/deployment.json.

مسار الإخراج لبيان التوزيع الذي تم إنشاؤه.


validateGeneratedDeploymentManifest - التحقق من صحة مخطط بيان التوزيع الذي تم إنشاؤه
string. مطلوب عند action = Generate deployment manifest. القيم المسموح بها: true، . false القيمة الافتراضية: false.

فشل هذه الخطوة إذا لم ينجح بيان التوزيع الذي تم إنشاؤه في التحقق من صحة المخطط. ابحث Azure IoT Edge deployment في JSON Schema Store للعثور على أحدث مخطط.


bypassModules - تجاوز الوحدة (الوحدات)
string. ‏‏اختياري. استخدم عندما action = Push module images.

يحدد الوحدة (الوحدات) التي لا تحتاج إلى إنشائها أو دفعها، .template.jsonويحدد أسماء الوحدة النمطية، ويفصلها بفواصل. مثال: إذا كان لديك SampleModule1 و SampleModule2 في وتريد .template.json فقط إنشاء أو دفع SampleModule1، فقم بتعيين وحدات التجاوز ك SampleModule2. اترك هذا فارغا إذا كنت ترغب في إنشاء جميع الوحدات النمطية في .template.json.


خيارات التحكم بالمهمة

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

متغيرات الإخراج

تحدد هذه المهمة متغيرات الإخراج التالية، والتي يمكنك استهلاكها في خطوات انتقال البيانات من الخادم والوظائف والمراحل.

DEPLOYMENT_FILE_PATH
هذا هو مسار ملف التوزيع الذي تم إنشاؤه.

الملاحظات

استخدم هذه المهمة لإنشاء التطبيقات واختبارها وتوزيعها بسرعة وكفاءة إلى Azure IoT Edge.

تدعم هذه المهمة المتغيرات المخصصة. إذا لم تكن على دراية بكيفية استخدام المتغيرات في البنية الأساسية لبرنامج ربط العمليات التجارية، فراجع تعريف المتغيرات.

أمثلة

إنشاء صور الوحدة النمطية

ينشئ مثال YAML التالي صور الوحدة النمطية:

- task: AzureIoTEdge@2
  displayName: AzureIoTEdge - Build module images
  inputs:
    action: Build module images
    templateFilePath: deployment.template.json
    defaultPlatform: amd64  

دفع صور الوحدة النمطية

يدفع مثال YAML التالي صور الوحدة النمطية:

variables:
  azureSubscriptionEndpoint: Contoso
  azureContainerRegistry: contoso.azurecr.io

steps:    
- task: AzureIoTEdge@2
  displayName: AzureIoTEdge - Push module images
  inputs:
    action: Push module images
    containerregistrytype: Azure Container Registry
    azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
    azureContainerRegistry: {"loginServer":"$(azureContainerRegistry)"}
    templateFilePath: deployment.template.json
    defaultPlatform: amd64
    fillRegistryCredential: true

إنشاء بيان التوزيع

ينشئ مثال YAML التالي بيان توزيع استنادا إلى ملف القالب:

steps:    
- task: AzureIoTEdge@2
  displayName: AzureIoTEdge - Generate deployment manifest
  inputs:
    action: Generate deployment manifest
    templateFilePath: deployment.template.json
    defaultPlatform: amd64
    deploymentManifestOutputPath: $(System.DefaultWorkingDirectory)/config/deployment.json
    validateGeneratedDeploymentManifest: false

النشر على أجهزة IoT Edge

يوزع مثال YAML التالي صور الوحدة النمطية:

steps:
- task: AzureIoTEdge@2
  displayName: 'Azure IoT Edge - Deploy to IoT Edge devices'
  inputs:
    action: 'Deploy to IoT Edge devices'
    deploymentFilePath: $(System.DefaultWorkingDirectory)/config/deployment.json
    azureSubscription: $(azureSubscriptionEndpoint)
    iothubname: iothubname
    deploymentid: '$(System.TeamProject)-devops-deployment'
    priority: '0'
    deviceOption: 'Single Device'
    deviceId: deviceId

المزيد من الأمثلة

للحصول على أمثلة خطوة بخطوة حول كيفية استخدام هذه الإجراءات في Azure Pipelines، راجع المقالات التالية:

المتطلبات

المتطلبات الوصف
أنواع البنية الأساسية لبرنامج ربط العمليات التجارية YAML، الإصدار الكلاسيكي، الإصدار الكلاسيكي
يعمل على Agent, DeploymentGroup
المطالب بلا
القدرات لا تفي هذه المهمة بأي متطلبات للمهام اللاحقة في الوظيفة.
قيود الأوامر أي
متغيرات Settable أي
إصدار الوكيل جميع إصدارات العامل المدعومة.
فئة المهمة البنية