AzureIoTEdge@2 – Azure IoT Edge v2-feladat
Ezzel a feladatokkal gyorsan és hatékonyan hozhat létre és helyezhet üzembe lemezképeket az Azure IoT Edge.
Ez a feladat támogatja az egyéni változókat. Ha nem ismeri a változók folyamatokban való használatát, tekintse meg a változók definiálása című témakört.
Megjegyzés
Ez a feladat nem támogatja az Azure Resource Manager-hitelesítést munkafolyamat-identitás-összevonással.
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).
Bevitelek
action
- Akció
string
. Kötelező. Engedélyezett értékek: Build module images
, Push module images
, Generate deployment manifest
, Deploy to IoT Edge devices
. Alapértelmezett érték: Build module images
.
Kiválaszt egy Azure IoT Edge műveletet.
Build module images
csak modulokat készít (a fordítási hibák ellenőrzéséhez használhatja).
Push module images
leküldi a modulokat a tárolóregisztrációs adatbázisba.
Deploy to IoT Edge devices
üzembe helyezi a létrehozott üzembehelyezési fájlt a IoT Hub. (Javasoljuk, hogy helyezze a Deploy
feladatot a kiadási folyamatba.)
deploymentFilePath
- Üzembehelyezési fájl
string
. Akkor szükséges, ha action == Deploy to IoT Edge devices
. Alapértelmezett érték: $(System.DefaultWorkingDirectory)/config/deployment.json
.
Kiválasztja az üzembehelyezési json-fájlt.
Ha ez a feladat a fájlban release pipeline
van, be kell állítania az üzembehelyezési fájl helyét az összetevőben. (Az alapértelmezett érték a legtöbb feltételnél működik.) Ha ez a feladat egy buildelési folyamatban van, meg kell adnia az üzembehelyezési jegyzék kimeneti elérési útját.
azureSubscription
- Az Azure-előfizetés IoT Hub tartalmaz
Bemeneti alias: connectedServiceNameARM
. string
. Akkor szükséges, ha action == Deploy to IoT Edge devices
.
Kiválaszt egy IoT Hub tartalmazó Azure-előfizetést.
iothubname
- IoT Hub neve
string
. Akkor szükséges, ha action == Deploy to IoT Edge devices
.
Kiválasztja a IoT Hub.
deploymentid
- IoT Edge üzembehelyezési azonosító
string
. Akkor szükséges, ha action = Deploy to IoT Edge devices
. Alapértelmezett érték: $(System.TeamProject)-devops-deployment
.
A IoT Edge üzembehelyezési azonosítót adja meg. Ha az azonosító már létezik, felül lesz bírálva.
Ez legfeljebb 128 kisbetűvel és számmal rendelkezik, és a következő karakterek engedélyezettek: -:+%_#*?!(),=@;'
.
További információ: Azure IoT Edge üzembe helyezése.
priority
- IoT Edge üzembehelyezési prioritás
string
. Akkor szükséges, ha action = Deploy to IoT Edge devices
. Alapértelmezett érték: 0
.
priority
A beállítást pozitív egész számra állítja az üzembehelyezési ütközések feloldásához. Ha ezt a feladatot több üzemelő példány célozza meg, az eszköz a legmagasabb prioritású, vagy két azonos prioritású üzembe helyezés esetén a legutóbbi létrehozási időpontot fogja használni.
További információ: Azure IoT Edge üzembe helyezése.
deviceOption
- Egy/több eszköz kiválasztása
string
. Akkor szükséges, ha action == Deploy to IoT Edge devices
. Engedélyezett értékek: Single Device
, Multiple Devices
.
A címkék szerint az üzembe helyezést egy vagy több eszközön választja ki.
deviceId
- IoT Edge eszközazonosító
string
. Akkor szükséges, ha deviceOption == Single Device
.
A IoT Edge device ID
adja meg.
targetcondition
- IoT Edge eszköz célfeltétele
string
. Akkor szükséges, ha deviceOption == Multiple Devices
.
target condition
Az üzembe helyezni kívánt eszközök bemenete. Ne használjon dupla idézőjeleket. Példa: tags.building=9
és tags.environment='test'
.
További információ: Azure IoT Edge üzembe helyezése.
containerregistrytype
- Tárolóregisztrációs adatbázis típusa
string
. Akkor szükséges, ha action = Push module images
. Engedélyezett értékek: Azure Container Registry
, Generic Container Registry
. Alapértelmezett érték: Azure Container Registry
.
Kiválaszt egy elemet Container Registry Type
.
Azure Container Registry
az ACR-hez készült, és Generic Container Registry
általános regisztrációs adatbázisokhoz készült, beleértve a Docker Hubot is.
dockerRegistryConnection
- Docker-beállításjegyzék-kapcsolat
Bemeneti alias: dockerRegistryEndpoint
. string
. Akkor szükséges, ha containerregistrytype = Generic Container Registry
.
Általános Docker-beállításjegyzék-kapcsolatot jelöl ki. Ez a buildeléshez és leküldéshez szükséges.
azureSubscriptionEndpoint
- Azure-előfizetés
string
. Választható. Használja a következőt: containerregistrytype = Azure Container Registry
.
Kiválaszt egy Azure-előfizetést.
azureContainerRegistry
- Azure Container Registry
string
. Akkor szükséges, ha containerregistrytype = Azure Container Registry
.
Kiválaszt egy Azure Container Registry.
templateFilePath
- .template.json fájl
string
. Akkor szükséges, ha action = Build module images || action = Push module images || action = Generate deployment manifest
. Alapértelmezett érték: deployment.template.json
.
Az Azure IoT Edge megoldás .template.json
elérési útja. Ez a fájl határozza meg az Azure IoT Edge megoldás moduljait és útvonalait. A fájlnévnek a következővel kell végződnie .template.json
: .
defaultPlatform
- Alapértelmezett platform
string
. Akkor szükséges, ha action = Build module images || action = Push module images || action = Generate deployment manifest
. Engedélyezett értékek: amd64
, windows-amd64
, arm32v7
, arm64v8
. Alapértelmezett érték: amd64
.
.template.json
A -ben a modulplatformot meghatározatlan állapotban hagyhatja. Ezekhez a modulokhoz a rendszer az alapértelmezett platformot használja.
defaultPlatform
- Alapértelmezett platform
string
. Akkor szükséges, ha action = Build module images || action = Push module images || action = Generate deployment manifest
. Engedélyezett értékek: amd64
, windows-amd64
, arm32v7
. Alapértelmezett érték: amd64
.
.template.json
A -ben a modulplatformot meghatározatlan állapotban hagyhatja. Ezekhez a modulokhoz a rendszer az alapértelmezett platformot használja.
fillRegistryCredential
- Beállításjegyzék hitelesítő adatainak hozzáadása az üzembehelyezési jegyzékhez
string
. Akkor szükséges, ha action = Push module images
. Engedélyezett értékek: true
, false
. Alapértelmezett érték: true
.
Hozzáadja a beállításjegyzék hitelesítő adatait a Docker-rendszerképek üzembehelyezési jegyzékbe való leküldéséhez.
deploymentManifestOutputPath
- Kimeneti elérési út
string
. Akkor szükséges, ha action == Generate deployment manifest
. Alapértelmezett érték: $(System.DefaultWorkingDirectory)/config/deployment.json
.
A létrehozott üzembehelyezési jegyzék kimeneti elérési útja.
validateGeneratedDeploymentManifest
- A létrehozott üzembehelyezési jegyzék sémájának ellenőrzése
string
. Akkor szükséges, ha action = Generate deployment manifest
. Engedélyezett értékek: true
, false
. Alapértelmezett érték: false
.
Sikertelen ez a lépés, ha a létrehozott üzembehelyezési jegyzék nem felel meg a sémaérvényesítésnek. Keressen Azure IoT Edge deployment
rá a JSON-sématárolóban a legújabb séma megkereséséhez.
bypassModules
- Modul(ok) megkerülése
string
. Választható. Használja a következőt: action = Push module images
.
Kiválasztja azokat a modulokat, amelyeket nem kell létrehoznia vagy be kell küldenie .template.json
, megadja a modulneveket, és vesszővel elválasztja őket.
Példa: ha a és SampleModule2
a fájlban vanSampleModule1
, és csak a buildelést vagy a leküldést SampleModule1
szeretné elvégezni, akkor a megkerülő modulokat a következőként kell beállítaniaSampleModule2
.template.json
: . Hagyja üresen ezt a mezőt, ha az összes modult a fájlban .template.json
szeretné létrehozni.
Feladatvezérlési lehetőségek
Minden feladathoz tartoznak vezérlési lehetőségek is a feladat bemenetei mellett. További információ: Vezérlési beállítások és gyakori feladattulajdonságok.
Kimeneti változók
Ez a feladat a következő kimeneti változókat határozza meg, amelyeket az alsóbb rétegbeli lépésekben, feladatokban és szakaszokban használhat fel.
DEPLOYMENT_FILE_PATH
Ez a létrehozott üzembehelyezési fájl elérési útja.
Megjegyzések
Ezzel a feladatokkal gyorsan és hatékonyan hozhat létre, tesztelhet és helyezhet üzembe alkalmazásokat az Azure IoT Edge.
Ez a feladat támogatja az egyéni változókat. Ha nem ismeri a változók folyamatokban való használatát, olvassa el a Változók definiálása című témakört.
Példák
Modulrendszerképek létrehozása
A következő YAML-példa modulrendszerképeket készít:
- task: AzureIoTEdge@2
displayName: AzureIoTEdge - Build module images
inputs:
action: Build module images
templateFilePath: deployment.template.json
defaultPlatform: amd64
Leküldéses modul lemezképe
Az alábbi YAML-példa leküldi a modulrendszerképeket:
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
Üzembehelyezési jegyzék létrehozása
Az alábbi YAML-példa egy üzembehelyezési jegyzékfájlt hoz létre a sablonfájl alapján:
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
Üzembe helyezés IoT Edge-eszközökön
A következő YAML-példa modulrendszerképeket helyez üzembe:
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
További példák
A műveletek Azure Pipelinesban való használatára vonatkozó részletes példákért tekintse meg az alábbi cikkeket:
- Folyamatos integráció és folyamatos üzembe helyezés azure IoT Edge-eszközökre (YAML)
- Folyamatos integráció és folyamatos üzembe helyezés azure IoT Edge-eszközökre (klasszikus szerkesztő)
Követelmények
Követelmény | Leírás |
---|---|
Folyamattípusok | YAML, klasszikus build, klasszikus kiadás |
Futtatás | Ügynök, DeploymentGroup |
Igények | None |
Képességek | Ez a feladat nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek. |
Parancskorlátozások | Bármelyik |
Változók beállítása | Bármelyik |
Ügynök verziója | Minden támogatott ügynökverzió. |
Feladatkategória | Build |