Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use essa tarefa para criar e implantar imagens de forma rápida e eficiente no Azure IoT Edge.
Essa tarefa dá suporte a variáveis personalizadas. Se você não estiver familiarizado com como usar variáveis em Pipelines, consulte definir variáveis.
Observação
Essa tarefa não dá suporte a autenticação do Azure Resource Manager comde federação de identidade de fluxo de trabalho.
Sintaxe
# 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).
Entradas
de Ação action -
string. Obrigatório Valores permitidos: Build module images, Push module images, Generate deployment manifest, Deploy to IoT Edge devices. Valor padrão: Build module images.
Seleciona uma ação do Azure IoT Edge.
Build module images cria apenas módulos (você pode usá-lo para verificar erros de compilação).
Push module images envia módulos por push para o registro de contêiner.
Deploy to IoT Edge devices implanta o arquivo de implantação gerado no Hub IoT. (É recomendável colocar a tarefa Deploy no pipeline de lançamento.)
deploymentFilePath
-
de arquivo de implantação
string. Necessário quando action == Deploy to IoT Edge devices. Valor padrão: $(System.DefaultWorkingDirectory)/config/deployment.json.
Seleciona o arquivo json de implantação.
Se essa tarefa estiver em release pipeline, você precisará definir o local do arquivo de implantação no artefato. (O valor padrão funciona para a maioria das condições.) Se essa tarefa estiver em um pipeline de build, você deverá especificar o caminho de saída do manifesto de implantação.
azureSubscription
-
assinatura do Azure contém o Hub IoT
Alias de entrada: connectedServiceNameARM.
string. Necessário quando action == Deploy to IoT Edge devices.
Seleciona uma assinatura do Azure que contém o Hub IoT.
iothubname
-
nome do Hub IoT
string. Necessário quando action == Deploy to IoT Edge devices.
Seleciona o Hub IoT.
deploymentid
-
ID de implantação do IoT Edge
string. Necessário quando action = Deploy to IoT Edge devices. Valor padrão: $(System.TeamProject)-devops-deployment.
Insira a ID de Implantação do IoT Edge. Se a ID já existir, ela será substituída.
Isso tem até 128 letras minúsculas e números e os seguintes caracteres são permitidos: -:+%_#*?!(),=@;'.
Para obter mais informações, consulte implantação do Azure IoT Edge.
priority
-
de prioridade de implantação do IoT Edge
string. Necessário quando action = Deploy to IoT Edge devices. Valor padrão: 0.
Define o priority como um inteiro positivo para resolver conflitos de implantação. Quando essa tarefa é direcionada por várias implantações, um dispositivo usará aquela com a prioridade mais alta ou, no caso de duas implantações com a mesma prioridade, a hora de criação mais recente.
Para obter mais informações, consulte implantação do Azure IoT Edge.
deviceOption
-
Escolher de dispositivo único/múltiplo
string. Necessário quando action == Deploy to IoT Edge devices. Valores permitidos: Single Device, Multiple Devices.
De acordo com as marcas, opta por implantar em dispositivos únicos ou múltiplos.
deviceId
-
ID do dispositivo IoT Edge
string. Necessário quando deviceOption == Single Device.
Insira o device IDdo IoT Edge.
targetcondition
-
de condição de destino do dispositivo IoT Edge
string. Necessário quando deviceOption == Multiple Devices.
Insira o target condition de dispositivos que você deseja implantar. Não use aspas duplas. Exemplo: tags.building=9 e tags.environment='test'.
Para obter mais informações, consulte implantação do Azure IoT Edge.
containerregistrytype
-
tipo de registro de contêiner
string. Necessário quando action = Push module images. Valores permitidos: Azure Container Registry, Generic Container Registry. Valor padrão: Azure Container Registry.
Seleciona um Container Registry Type.
Azure Container Registry é para a ACR e Generic Container Registry é para registros genéricos, incluindo o hub do Docker.
dockerRegistryConnection
-
de Conexão do Registro do Docker
Alias de entrada: dockerRegistryEndpoint.
string. Necessário quando containerregistrytype = Generic Container Registry.
Seleciona uma conexão genérica do Registro do Docker. Isso é necessário para compilar e enviar por push.
azureSubscriptionEndpoint
-
assinatura do Azure
string. Opcional. Use quando containerregistrytype = Azure Container Registry.
Seleciona uma assinatura do Azure.
azureContainerRegistry
-
do Registro de Contêiner do Azure
string. Necessário quando containerregistrytype = Azure Container Registry.
Especifica um Registro de Contêiner do Azure. Esse valor deve ser especificado no formato json.
azureContainerRegistry: '{"loginServer": "contoso.azurecr.io"}
de arquivo templateFilePath - .template.json
string. Necessário quando action = Build module images || action = Push module images || action = Generate deployment manifest. Valor padrão: deployment.template.json.
O caminho da solução do Azure IoT Edge .template.json. Esse arquivo define os módulos e as rotas na solução do Azure IoT Edge. O nome do arquivo deve terminar com .template.json.
defaultPlatform
-
de plataforma padrão
string. Necessário quando action = Build module images || action = Push module images || action = Generate deployment manifest. Valores permitidos: amd64, windows-amd64, arm32v7, arm64v8. Valor padrão: amd64.
No .template.json, você pode deixar a plataforma de módulos não especificada. Para esses módulos, a plataforma padrão será usada.
fillRegistryCredential
-
Adicionar credencial do Registro ao manifesto de implantação
string. Necessário quando action = Push module images. Valores permitidos: true, false. Valor padrão: true.
Adiciona a credencial do Registro para enviar imagens do Docker por push ao manifesto de implantação.
deploymentManifestOutputPath
-
caminho de saída
string. Necessário quando action == Generate deployment manifest. Valor padrão: $(System.DefaultWorkingDirectory)/config/deployment.json.
O caminho de saída do manifesto de implantação gerado.
validateGeneratedDeploymentManifest
-
Validar o esquema do manifesto de implantação gerado
string. Necessário quando action = Generate deployment manifest. Valores permitidos: true, false. Valor padrão: false.
Falhará nesta etapa se o manifesto de implantação gerado não passar pela validação do esquema. Pesquise Azure IoT Edge deployment no Repositório de Esquemas JSON para localizar o esquema mais recente.
de módulos de bypass do bypassModules -
string. Opcional. Use quando action = Push module images.
Seleciona os módulos que você não precisa criar ou enviar por push .template.json, especifica os nomes dos módulos e os separa com vírgulas.
Exemplo: se você tiver SampleModule1 e SampleModule2 em seu .template.json e quiser criar ou enviar por push apenas SampleModule1, defina os módulos de bypass como SampleModule2. Deixe isso vazio se você quiser criar todos os módulos no .template.json.
Opções de controle de tarefa
Todas as tarefas têm opções de controle além das suas entradas de tarefas. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.
Variáveis de saída
Essa tarefa define as seguintes variáveis de saída , que você pode consumir em etapas downstream, trabalhos e estágios.
DEPLOYMENT_FILE_PATH
Esse é o caminho do arquivo de implantação gerado.
Observações
Use essa tarefa para criar, testar e implantar aplicativos de forma rápida e eficiente no Azure IoT Edge.
Essa tarefa dá suporte a variáveis personalizadas. Se você não estiver familiarizado com como usar variáveis em Pipelines, consulte Definir variáveis.
Exemplos
Criar imagens de módulo
O exemplo yaml a seguir cria imagens de módulo:
- task: AzureIoTEdge@2
displayName: AzureIoTEdge - Build module images
inputs:
action: Build module images
templateFilePath: deployment.template.json
defaultPlatform: amd64
Efetuar push de imagens de módulo
O exemplo yaml a seguir envia por push imagens do módulo:
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
Gerar o manifesto de implantação
O exemplo yaml a seguir cria um manifesto de implantação com base no arquivo de modelo:
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
Implantar em dispositivos IoT Edge
O exemplo yaml a seguir implanta imagens de módulo:
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
Mais exemplos
Para obter exemplos passo a passo de como usar essas ações no Azure Pipelines, consulte os seguintes artigos:
- integração contínua e implantação contínua em dispositivos do Azure IoT Edge (YAML)
- integração contínua e implantação contínua em dispositivos do Azure IoT Edge (editor clássico)
Requisitos
| Requisito | Descrição |
|---|---|
| Tipos de pipeline | YAML, build clássico, versão clássica |
| Execuções em | Agente, DeploymentGroup |
| de demandas | Nenhum |
| recursos | Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho. |
| restrições de comando | Qualquer |
| variáveis settable | Qualquer |
| Versão do agente | Todas as versões de agente com suporte. |
| Categoria de tarefa | Construir |