AzureIoTEdge@2 - مهمة Azure IoT Edge v2
استخدم هذه المهمة لإنشاء الصور وتوزيعها بسرعة وكفاءة إلى Azure IoT Edge.
تدعم هذه المهمة المتغيرات المخصصة. إذا لم تكن على دراية بكيفية استخدام المتغيرات في البنية الأساسية لبرنامج ربط العمليات التجارية، فراجع تعريف المتغيرات.
ملاحظة
لا تدعم هذه المهمة مصادقة Azure Resource Manager مع اتحاد هوية سير العمل.
بناء الجملة
# 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.json
Azure 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-amd64
arm32v7
. القيمة الافتراضية: 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، راجع المقالات التالية:
- التكامل المستمر والنشر المستمر إلى أجهزة Azure IoT Edge (YAML)
- التكامل المستمر والتوزيع المستمر لأجهزة Azure IoT Edge (محرر كلاسيكي)
المتطلبات
المتطلبات | الوصف |
---|---|
أنواع البنية الأساسية لبرنامج ربط العمليات التجارية | YAML، الإصدار الكلاسيكي، الإصدار الكلاسيكي |
يعمل على | Agent, DeploymentGroup |
المطالب | بلا |
القدرات | لا تفي هذه المهمة بأي متطلبات للمهام اللاحقة في الوظيفة. |
قيود الأوامر | أي |
متغيرات Settable | أي |
إصدار الوكيل | جميع إصدارات العامل المدعومة. |
فئة المهمة | البنية |