AzureIoTEdge@2 - Azure IoT Edge v2-taak
Gebruik deze taak om installatiekopieën snel en efficiënt te bouwen en te implementeren in Azure IoT Edge.
Deze taak ondersteunt aangepaste variabelen. Zie Variabelen definiëren als u niet bekend bent met het gebruik van variabelen in pijplijnen.
Notitie
Deze taak biedt geen ondersteuning voor Azure Resource Manager-verificatie met werkstroomidentiteitsfederatie.
Syntax
# 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).
Invoerwaarden
action
- Actie
string
. Vereist. Toegestane waarden: Build module images
, Push module images
, Generate deployment manifest
, Deploy to IoT Edge devices
. Standaardwaarde: Build module images
.
Selecteert een Azure IoT Edge actie.
Build module images
bouwt alleen modules (u kunt deze gebruiken om compilatiefouten te controleren).
Push module images
pusht modules naar het containerregister.
Deploy to IoT Edge devices
implementeert het gegenereerde implementatiebestand in IoT Hub. (We raden u aan de Deploy
taak in de release-pijplijn te plaatsen.)
deploymentFilePath
- Implementatiebestand
string
. Vereist wanneer action == Deploy to IoT Edge devices
. Standaardwaarde: $(System.DefaultWorkingDirectory)/config/deployment.json
.
Selecteert het JSON-bestand voor de implementatie.
Als deze taak zich in release pipeline
bevindt, moet u de locatie van het implementatiebestand instellen in artefact. (De standaardwaarde werkt voor de meeste voorwaarden.) Als deze taak zich in een build-pijplijn bevindt, moet u het uitvoerpad voor het implementatiemanifest opgeven.
azureSubscription
- Azure-abonnement bevat IoT Hub
Invoeralias: connectedServiceNameARM
. string
. Vereist wanneer action == Deploy to IoT Edge devices
.
Selecteert een Azure-abonnement dat IoT Hub bevat.
iothubname
- IoT Hub naam
string
. Vereist wanneer action == Deploy to IoT Edge devices
.
Selecteert de IoT Hub.
deploymentid
- IoT Edge-implementatie-id
string
. Vereist wanneer action = Deploy to IoT Edge devices
. Standaardwaarde: $(System.TeamProject)-devops-deployment
.
Hiermee wordt de IoT Edge-implementatie-id. Als de id al bestaat, wordt deze overschreven.
Dit heeft maximaal 128 kleine letters en cijfers en de volgende tekens zijn toegestaan: -:+%_#*?!(),=@;'
.
Zie Azure IoT Edge-implementatie voor meer informatie.
priority
- IoT Edge implementatieprioriteit
string
. Vereist wanneer action = Deploy to IoT Edge devices
. Standaardwaarde: 0
.
Stelt de priority
in op een positief geheel getal om implementatieconflicten op te lossen. Wanneer deze taak is gericht op meerdere implementaties, gebruikt een apparaat de taak met de hoogste prioriteit of, in het geval van twee implementaties met dezelfde prioriteit, de laatste aanmaaktijd.
Zie Azure IoT Edge-implementatie voor meer informatie.
deviceOption
- Eén/meerdere apparaten kiezen
string
. Vereist wanneer action == Deploy to IoT Edge devices
. Toegestane waarden: Single Device
, Multiple Devices
.
Op basis van tags kiest u ervoor om te implementeren op één of meerdere apparaten.
deviceId
- IoT Edge apparaat-id
string
. Vereist wanneer deviceOption == Single Device
.
Hiermee wordt de IoT Edge . device ID
targetcondition
- IoT Edge apparaatdoelvoorwaarde
string
. Vereist wanneer deviceOption == Multiple Devices
.
Hiermee wordt de target condition
van apparaten die u wilt implementeren, opgegeven. Gebruik geen dubbele aanhalingstekens. Voorbeeld: tags.building=9
en tags.environment='test'
.
Zie Azure IoT Edge-implementatie voor meer informatie.
containerregistrytype
- Type containerregister
string
. Vereist wanneer action = Push module images
. Toegestane waarden: Azure Container Registry
, Generic Container Registry
. Standaardwaarde: Azure Container Registry
.
Selecteert een Container Registry Type
.
Azure Container Registry
is voor ACR en Generic Container Registry
is voor algemene registers, waaronder Docker Hub.
dockerRegistryConnection
- Docker-registerverbinding
Invoeralias: dockerRegistryEndpoint
. string
. Vereist wanneer containerregistrytype = Generic Container Registry
.
Selecteert een algemene Docker-registerverbinding. Dit is vereist voor bouwen en pushen.
azureSubscriptionEndpoint
- Azure-abonnement
string
. Optioneel. Gebruik wanneer containerregistrytype = Azure Container Registry
.
Selecteert een Azure-abonnement.
azureContainerRegistry
- Azure Container Registry
string
. Vereist wanneer containerregistrytype = Azure Container Registry
.
Selecteert een Azure Container Registry.
templateFilePath
- .template.json-bestand
string
. Vereist wanneer action = Build module images || action = Push module images || action = Generate deployment manifest
. Standaardwaarde: deployment.template.json
.
Het pad van azure IoT Edge-oplossing .template.json
. Dit bestand definieert de modules en routes in azure IoT Edge oplossing. De bestandsnaam moet eindigen op .template.json
.
defaultPlatform
- Standaardplatform
string
. Vereist wanneer action = Build module images || action = Push module images || action = Generate deployment manifest
. Toegestane waarden: amd64
, windows-amd64
, arm32v7
, arm64v8
. Standaardwaarde: amd64
.
In uw .template.json
kunt u het modulesplatform niet opgegeven laten. Voor deze modules wordt het standaardplatform gebruikt.
defaultPlatform
- Standaardplatform
string
. Vereist wanneer action = Build module images || action = Push module images || action = Generate deployment manifest
. Toegestane waarden: amd64
, windows-amd64
, arm32v7
. Standaardwaarde: amd64
.
In uw .template.json
kunt u het modulesplatform niet opgegeven laten. Voor deze modules wordt het standaardplatform gebruikt.
fillRegistryCredential
- Registerreferentie toevoegen aan implementatiemanifest
string
. Vereist wanneer action = Push module images
. Toegestane waarden: true
, false
. Standaardwaarde: true
.
Hiermee voegt u de registerreferentie toe voor het pushen van Docker-installatiekopieën naar het implementatiemanifest.
deploymentManifestOutputPath
- Uitvoerpad
string
. Vereist wanneer action == Generate deployment manifest
. Standaardwaarde: $(System.DefaultWorkingDirectory)/config/deployment.json
.
Het uitvoerpad van het gegenereerde implementatiemanifest.
validateGeneratedDeploymentManifest
- Het schema van het gegenereerde implementatiemanifest valideren
string
. Vereist wanneer action = Generate deployment manifest
. Toegestane waarden: true
, false
. Standaardwaarde: false
.
Mislukt deze stap als het gegenereerde implementatiemanifest niet voldoet aan de schemavalidatie. Zoek Azure IoT Edge deployment
in JSON Schema Store om het meest recente schema te vinden.
bypassModules
- Module(s) overslaan
string
. Optioneel. Gebruik wanneer action = Push module images
.
Selecteert de module(s) die u niet hoeft te bouwen of pushen in .template.json
, geeft de modulenamen op en scheidt deze met komma's.
Voorbeeld: als u en SampleModule2
in uw .template.json
hebt SampleModule1
en u alleen wilt bouwen of pushenSampleModule1
, stelt u de bypass-modules in als SampleModule2
. Laat dit leeg als u alle modules in .template.json
wilt bouwen.
Opties voor taakbeheer
Alle taken hebben besturingsopties naast hun taakinvoer. Zie Besturingsopties en algemene taakeigenschappen voor meer informatie.
Uitvoervariabelen
Deze taak definieert de volgende uitvoervariabelen, die u kunt gebruiken in downstreamstappen, taken en fasen.
DEPLOYMENT_FILE_PATH
Dit is het pad naar het gegenereerde implementatiebestand.
Opmerkingen
Gebruik deze taak om toepassingen snel en efficiënt te bouwen, testen en implementeren in Azure IoT Edge.
Deze taak ondersteunt aangepaste variabelen. Zie Variabelen definiëren als u niet bekend bent met het gebruik van variabelen in pijplijnen.
Voorbeelden
Installatiekopieën van modules bouwen
In het volgende YAML-voorbeeld worden moduleinstallatiekopieën gebouwd:
- task: AzureIoTEdge@2
displayName: AzureIoTEdge - Build module images
inputs:
action: Build module images
templateFilePath: deployment.template.json
defaultPlatform: amd64
Installatiekopieën van pushmodules
In het volgende YAML-voorbeeld worden moduleinstallatiekopieën gepusht:
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
Implementatiemanifest genereren
In het volgende YAML-voorbeeld wordt een implementatiemanifest gemaakt op basis van het sjabloonbestand:
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
Implementeren naar IoT Edge-apparaten
In het volgende YAML-voorbeeld worden module-installatiekopieën geïmplementeerd:
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
Meer voorbeelden
Zie de volgende artikelen voor stapsgewijze voorbeelden van het gebruik van deze acties in Azure Pipelines:
- Continue integratie en continue implementatie naar Azure IoT Edge-apparaten (YAML)
- Continue integratie en continue implementatie naar Azure IoT Edge-apparaten (klassieke editor)
Vereisten
Vereiste | Beschrijving |
---|---|
Pijplijntypen | YAML, klassieke build, klassieke release |
Wordt uitgevoerd op | Agent, DeploymentGroup |
Eisen | Geen |
Functies | Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak. |
Opdrachtbeperkingen | Alle |
Instelbare variabelen | Alle |
Agentversie | Alle ondersteunde agentversies. |
Taakcategorie | Build |