Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pomocí této úlohy můžete rychle a efektivně vytvářet a nasazovat image do Azure IoT Edge.
Tento úkol podporuje vlastní proměnné. Pokud nevíte, jak používat proměnné v Pipelines, přečtěte si definování proměnných.
Poznámka:
Tato úloha nepodporuje ověřování Azure Resource Manageru s federací identit pracovního postupu.
Syntaxe
# 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).
Vstupy
action
-
akce
string. Povinné. Povolené hodnoty: Build module images, Push module images, Generate deployment manifestDeploy to IoT Edge devices. Výchozí hodnota: Build module images.
Vybere akci Azure IoT Edge.
Build module images pouze sestavuje moduly (můžete ho použít ke kontrole chyb kompilace).
Push module images nasdílí moduly do registru kontejneru.
Deploy to IoT Edge devices nasadí vygenerovaný soubor nasazení do ioT Hubu. (Doporučujeme vložit Deploy úlohu do kanálu verze.)
souboru nasazení deploymentFilePath -
string. Požadováno při action == Deploy to IoT Edge devices. Výchozí hodnota: $(System.DefaultWorkingDirectory)/config/deployment.json.
Vybere soubor JSON nasazení.
Pokud je tato úloha v release pipeline, musíte nastavit umístění souboru nasazení v artefaktu. (Výchozí hodnota funguje pro většinu podmínek.) Pokud je tato úloha v kanálu buildu, musíte zadat výstupní cestu manifestu nasazení.
azureSubscription
-
předplatné Azure obsahuje IoT Hubu
Vstupní alias: connectedServiceNameARM.
string. Požadováno při action == Deploy to IoT Edge devices.
Vybere předplatné Azure, které obsahuje IoT Hub.
iothubname
-
název ioT Hubu
string. Požadováno při action == Deploy to IoT Edge devices.
Vybere IoT Hub.
ID nasazení deploymentid - IoT Edge
string. Požadováno při action = Deploy to IoT Edge devices. Výchozí hodnota: $(System.TeamProject)-devops-deployment.
Zadává ID nasazení IoT Edge. Pokud ID již existuje, přepíše se.
To má až 128 malých písmen a číslic a jsou povoleny následující znaky: -:+%_#*?!(),=@;'.
Další informace najdete v tématu nasazení Azure IoT Edge.
priority
-
prioritu nasazení IoT Edge
string. Požadováno při action = Deploy to IoT Edge devices. Výchozí hodnota: 0.
Nastaví priority na kladné celé číslo pro řešení konfliktů nasazení. Pokud se na tuto úlohu zaměřuje více nasazení, použije zařízení ten, který má nejvyšší prioritu, nebo v případě dvou nasazení se stejnou prioritou čas posledního vytvoření.
Další informace najdete v tématu nasazení Azure IoT Edge.
deviceOption
-
Zvolit jednoho nebo více zařízení
string. Požadováno při action == Deploy to IoT Edge devices. Povolené hodnoty: Single Device, Multiple Devices.
Podle značek se rozhodnete nasadit na jedno nebo více zařízení.
deviceId
-
ID zařízení IoT Edge
string. Požadováno při deviceOption == Single Device.
Vstupy device IDIoT Edge .
targetcondition
-
cílové podmínky zařízení IoT Edge
string. Požadováno při deviceOption == Multiple Devices.
Zadává target condition zařízení, která chcete nasadit. Nepoužívejte dvojité uvozovky. Příklad: tags.building=9 a tags.environment='test'.
Další informace najdete v tématu nasazení Azure IoT Edge.
containerregistrytype
-
typ registru kontejneru
string. Požadováno při action = Push module images. Povolené hodnoty: Azure Container Registry, Generic Container Registry. Výchozí hodnota: Azure Container Registry.
Vybere Container Registry Type.
Azure Container Registry je pro ACR a Generic Container Registry je určená pro obecné registry, včetně docker hubu.
dockerRegistryConnection
-
připojení registru Dockeru
Vstupní alias: dockerRegistryEndpoint.
string. Požadováno při containerregistrytype = Generic Container Registry.
Vybere obecné připojení registru Dockeru. To se vyžaduje pro sestavení a nasdílení změn.
azureSubscriptionEndpoint
-
předplatného Azure
string. Volitelný. Používá se při containerregistrytype = Azure Container Registry.
Vybere předplatné Azure.
azureContainerRegistry
-
služby Azure Container Registry
string. Požadováno při containerregistrytype = Azure Container Registry.
Určuje službu Azure Container Registry. Tato hodnota by měla být zadána ve formátu json.
azureContainerRegistry: '{"loginServer": "contoso.azurecr.io"}
souboru templateFilePath - .template.json
string. Požadováno při action = Build module images || action = Push module images || action = Generate deployment manifest. Výchozí hodnota: deployment.template.json.
Cesta řešení Azure IoT Edge .template.json. Tento soubor definuje moduly a trasy v řešení Azure IoT Edge. Název souboru musí končit .template.json.
výchozí platformy defaultPlatform -
string. Požadováno při action = Build module images || action = Push module images || action = Generate deployment manifest. Povolené hodnoty: amd64, windows-amd64, arm32v7arm64v8. Výchozí hodnota: amd64.
V .template.jsonmůžete ponechat platformu modulů nezadanou. Pro tyto moduly se použije výchozí platforma.
výchozí platformy defaultPlatform -
string. Požadováno při action = Build module images || action = Push module images || action = Generate deployment manifest. Povolené hodnoty: amd64, windows-amd64, arm32v7. Výchozí hodnota: amd64.
V .template.jsonmůžete ponechat platformu modulů nezadanou. Pro tyto moduly se použije výchozí platforma.
fillRegistryCredential
-
Přidání přihlašovacích údajů registru do manifestu nasazení
string. Požadováno při action = Push module images. Povolené hodnoty: true, false. Výchozí hodnota: true.
Přidá přihlašovací údaje registru pro nabízení imagí Dockeru do manifestu nasazení.
deploymentManifestOutputPath
-
výstupní cesta
string. Požadováno při action == Generate deployment manifest. Výchozí hodnota: $(System.DefaultWorkingDirectory)/config/deployment.json.
Výstupní cesta vygenerovaného manifestu nasazení.
validateGeneratedDeploymentManifest
-
Ověření schématu vygenerovaného manifestu nasazení
string. Požadováno při action = Generate deployment manifest. Povolené hodnoty: true, false. Výchozí hodnota: false.
Tento krok selžou, pokud vygenerovaný manifest nasazení neprojde ověřením schématu. Vyhledejte nejnovější schéma Azure IoT Edge deployment v úložišti schémat JSON.
bypassModules
-
vynechat moduly
string. Volitelný. Používá se při action = Push module images.
Vybere moduly, které nepotřebujete sestavovat ani vkládat do .template.json, určuje názvy modulů a odděluje je čárkami.
Příklad: Pokud máte ve svém SampleModule1SampleModule2 a .template.json a chcete vytvořit nebo odeslat pouze SampleModule1, nastavíte moduly obejití jako SampleModule2. Pokud chcete sestavit všechny moduly v .template.json, ponechte toto prázdné.
Možnosti ovládání úloh
Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace naleznete v tématu Možnosti ovládacího prvku a běžné vlastnosti úloh.
Výstupní proměnné
Tato úloha definuje následující výstupní proměnné, které můžete využívat v podřízených krocích, úlohách a fázích.
DEPLOYMENT_FILE_PATH
Toto je cesta vygenerovaného souboru nasazení.
Poznámky
Pomocí této úlohy můžete rychle a efektivně sestavovat, testovat a nasazovat aplikace do Azure IoT Edge.
Tento úkol podporuje vlastní proměnné. Pokud nevíte, jak používat proměnné v Pipelines, přečtěte si téma Definování proměnných.
Příklady
Vytváření imagí modulů
Následující příklad YAML sestaví image modulů:
- task: AzureIoTEdge@2
displayName: AzureIoTEdge - Build module images
inputs:
action: Build module images
templateFilePath: deployment.template.json
defaultPlatform: amd64
Nabízení imagí modulů
Následující příklad YAML nasdílí image modulů:
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
Generování manifestu nasazení
Následující příklad YAML vytvoří manifest nasazení na základě souboru šablony:
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
Nasazení do zařízení IoT Edge
Následující příklad YAML nasadí image modulů:
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
Další příklady
Podrobné příklady použití těchto akcí v Azure Pipelines najdete v následujících článcích:
- kontinuální integrace a průběžné nasazování do zařízení Azure IoT Edge (YAML)
- kontinuální integrace a průběžné nasazování do zařízení Azure IoT Edge (klasický editor)
Požadavky
| Požadavek | Popis |
|---|---|
| Typy kanálů | YAML, klasické sestavení, klasická verze |
| Běží na | Agent, skupina nasazení |
| požadavky | Žádný |
| možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
| omezení příkazů | Jakýkoliv |
| nastavitelné proměnné | Jakýkoliv |
| Verze agenta | Všechny podporované verze agenta. |
| Kategorie úkolu | Stavět |