Megosztás a következőn keresztül:


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.

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 pipelinevan, 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 IDadja 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.jsonelé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.jsonA -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.jsonA -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 SampleModule1szeretné 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.jsonszeretné 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:

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