-
Notifications
You must be signed in to change notification settings - Fork 37
Description
Hi,
We have configured multiple modules on Azure IoT Edge. We have created one yaml pipeline in Azure DevOps to build and push module into Azure Container registry with the latest version and its working fine.
In the yaml pipeline we are using following steps:
Build module images
Push module images
The above 2 steps build and push the images into ACR, and manually we update the new image on the IoT edge device.
Now as we are extending the pipeline functionality to update the latest image from ACR to IoT edge device but the behavior of this is not as expected. We have added the below steps in the yaml file:
3. Generate deployment manifest
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
Deploy to IoT edge devices
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
The above steps deletes all the existing 10 deployed modules on IoT edge device and add the single module for which we ran the pipeline and also removes the module twin settings as well.
Expected behaviour:
All the existing 10 modules must be there. It should only update the module for which we are running the pipeline and maintained the module twin settings as well.
Kind regards,
Harsh