AzureContainerApps@1 – Tarefa Implantar aplicativos de contêiner do Azure v1

Uma tarefa do Azure DevOps para criar e implantar aplicativos de contêiner do Azure.

Sintaxe

# Azure Container Apps Deploy v1
# An Azure DevOps Task to build and deploy Azure Container Apps.
- task: AzureContainerApps@1
  inputs:
  # advanced
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    #appSourcePath: # string. Application source path. 
    azureSubscription: # string. Alias: connectedServiceNameARM. Required. Azure Resource Manager connection. 
    #acrName: # string. Azure Container Registry name. 
    #acrUsername: # string. Azure Container Registry username. 
    #acrPassword: # string. Azure Container Registry password. 
    #dockerfilePath: # string. Dockerfile path. 
    #imageToBuild: # string. Docker image to build. 
    #imageToDeploy: # string. Docker image to deploy. 
    #containerAppName: # string. Azure Container App name. 
    #resourceGroup: # string. Azure resource group name. 
    #containerAppEnvironment: # string. Azure Container App environment. 
    #runtimeStack: # string. Application runtime stack. 
    #targetPort: # string. Application target port. 
    #location: # string. Location of the Container App. 
    #environmentVariables: # string. Environment variables. 
    #ingress: # string. Ingress setting. 
    #yamlConfigPath: # string. YAML configuration file path. 
    #disableTelemetry: # boolean. Disable telemetry.

Entradas

do Diretório de Trabalho do
Alias de entrada: cwd. string.

Diretório de trabalho atual em que o script é executado. Vazio é a raiz do repositório (build) ou artefatos (versão), que é $(System.DefaultWorkingDirectory).


appSourcePath - caminho de origem do aplicativo
string.

Caminho absoluto no executor do código-fonte do aplicativo a ser criado. Se não for fornecido, o argumento 'imageToDeploy' deverá ser fornecido para garantir que o Aplicativo de Contêiner tenha uma imagem a ser referenciada.

Ao enviar uma nova imagem por push para o ACR, as entradas de tarefa acrName e appSourcePath são necessárias.


azureSubscription - de conexão do Azure Resource Manager
Alias de entrada: connectedServiceNameARM. string. Necessário.

Especifique uma conexão de serviço do Azure Resource Manager para a implantação. Essa conexão de serviço deve estar vinculada à Assinatura do Azure do usuário em que o Aplicativo de Contêiner será criado/atualizado. Esse de conexão de serviço deve ter permissões adequadas para fazer essas alterações na assinatura, por exemplo, função Colaborador.


acrName - nome do Registro de Contêiner do Azure
string.

O nome do Registro de Contêiner do Azure para o qual a imagem do aplicativo executável será enviada por push.

Ao enviar uma nova imagem por push para o ACR, as entradas de tarefa acrName e appSourcePath são necessárias.


acrUsername - nome de usuário do Registro de Contêiner do Azure
string.

O nome de usuário usado para autenticar solicitações por push para o Registro contrainer do Azure fornecido. Se não for fornecido, um token de acesso será gerado por meio de 'az acr login' e fornecido para 'logon do docker' para autenticar as solicitações.


acrPassword - de senha do Registro de Contêiner do Azure
string.

A senha usada para autenticar solicitações por push no Registro Contrainer do Azure fornecido. Se não for fornecido, um token de acesso será gerado por meio de 'az acr login' e fornecido para 'logon do docker' para autenticar as solicitações.


dockerfilePath - caminho do Dockerfile
string.

Caminho relativo (_without prefixos de arquivo (consulte o seguinte Exemplos) para o Dockerfile na fonte de aplicativo fornecida que deve ser usada para criar a imagem que é enviada por push para o ACR e implantada no Aplicativo de Contêiner. Se não for fornecida, essa tarefa verificará se há um arquivo chamado 'Dockerfile' na raiz da fonte do aplicativo fornecida e a usará para criar a imagem. Caso contrário, o Construtor Oryx++ será usado para criar a imagem.


imageToBuild - imagem do Docker para criar
string.

O nome personalizado da imagem que será criada, enviada por push para o ACR e implantada no Aplicativo de Contêiner por essa tarefa. Observação: esse nome de imagem deve incluir o servidor ACR; por exemplo, <acr-name>.azurecr.io/<repo>:<tag>. Se esse argumento não for fornecido, um nome de imagem padrão será construído na forma de <acr-name>.azurecr.io/ado-task/container-app:<build-id>.<build-number>.


imageToDeploy - imagem do Docker para implantar
string.

O nome da imagem que já foi enviada por push para o ACR e será implantado no Aplicativo de Contêiner por essa tarefa. Observação: o nome da imagem deve incluir o servidor ACR; por exemplo, <acr-name>.azurecr.io/<repo>:<tag>. Se esse argumento não for fornecido, o valor fornecido (ou determinado) para o argumento 'imageToBuild' será usado. Se essa imagem for encontrada em uma instância do ACR que requer autenticação para pull, o argumento acrName ou os argumentos acrUsername e acrPassword poderão ser fornecidos para autenticar solicitações para a instância do ACR.


containerAppName - nome do Aplicativo de Contêiner do Azure
string.

O nome do Aplicativo de Contêiner do Azure que será criado ou atualizado. Se não for fornecido, esse valor estará na forma de ado-task-app-<build-id>-<build-number>.


resourceGroup - nome do grupo de recursos do Azure
string.

O grupo de recursos existente no qual o Aplicativo de Contêiner do Azure será criado (ou atualmente existe). Se não for fornecido, esse valor estará na forma de <container-app-name>-rg.


containerAppEnvironment - ambiente do Aplicativo de Contêiner do Azure
string.

O nome do ambiente do Aplicativo de Contêiner do Azure a ser usado com o aplicativo. Se não for fornecido, um ambiente existente no grupo de recursos do Aplicativo de Contêiner será usado, caso contrário, um ambiente será criado no formato de <container-app-name>-env.


runtimeStack - de pilha de runtime do aplicativo
string.

A pilha de versão da plataforma usada na imagem final do aplicativo executável implantada no Aplicativo de Contêiner. O valor deve ser fornecido na formação <platform>:<version>. Se não for fornecido, esse valor será determinado por Oryx com base no conteúdo do aplicativo fornecido. Consulte este documento para obter mais informações sobre pilhas de runtime com suporte para Oryx.


de porta de destino do aplicativo
string.

A porta de destino na qual o Aplicativo de Contêiner escutará. Se não for fornecido, esse valor será "80" para aplicativos Python e "8080" para todas as outras plataformas com suporte.


location - local do aplicativo de contêiner
string.

O local para o qual o Aplicativo de Contêiner (e outros recursos criados) será implantado.


variáveis de ambiente environmentVariables -
string.

Uma lista de variáveis de ambiente para o contêiner. Valores separados por espaço no formato 'key=value'. Cadeia de caracteres vazia para limpar valores existentes. Prefixe o valor com 'secretref:' para fazer referência a um segredo.


ingress - configuração de entrada
string.

Opções possíveis: externo, interno, desabilitado. Se definido como external (valor padrão se não for fornecido ao criar um Aplicativo de Contêiner), o Aplicativo contêiner ficará visível na Internet ou em uma VNET, dependendo do ponto de extremidade do ambiente do aplicativo configurado. Se definido como internal, o Aplicativo de Contêiner ficará visível somente no ambiente do aplicativo. Se definido como disabled, a entrada será desabilitada para este Aplicativo de Contêiner e não terá um ponto de extremidade HTTP ou TCP.


yamlConfigPath - caminho do arquivo de configuração YAML
string.

Caminho completo (no agente do Azure Pipelines em execução) para o arquivo YAML detalhando a configuração do Aplicativo de Contêiner.

A propriedade resourceGroup no arquivo de configuração YAML não será usada; o valor para isso é proveniente do argumento resourceGroup fornecido à tarefa ou do nome do grupo de recursos padrão gerado pela tarefa. Todas as outras propriedades fornecidas no arquivo de configuração YAML substituirão os valores fornecidos como argumentos para essa tarefa; por exemplo, se o argumento containerAppName for fornecido para a tarefa e a propriedade name for definida no arquivo de configuração YAML, a propriedade name no arquivo YAML será usada ao criar ou atualizar o Aplicativo de Contêiner.

Argumentos de origem de imagem e aplicativo (por exemplo,, appSourcePath, imageToDeploy) ainda serão usados para compilar e/ou enviar por push uma imagem usada pelo Aplicativo de Contêiner; nesse caso, o arquivo de configuração YAML fornecido precisará referenciar a imagem especificada por imageToDeploy (ou imageToBuild, dependendo do seu cenário).

Ao criar um novo Aplicativo de Contêiner, todas as propriedades listadas no arquivo de configuração YAML (exceto resourceGroup conforme mencionado acima) serão definidas quando o Aplicativo de Contêiner for criado. Ao atualizar um Aplicativo de Contêiner existente, somente as propriedades listadas no arquivo serão atualizadas no Aplicativo de Contêiner.

Atualmente, o arquivo YAML não dá suporte à configuração da autenticação de identidade gerenciada para o registro de contêiner usado; para obter mais informações sobre esse problema, consulte este problema do GitHub.

Nos casos em que o argumento yamlConfigPath for fornecido, o arquivo YAML será passado para o comando az containerapp correspondente, create ou update dependendo do seu cenário. Para obter mais informações sobre o comportamento pretendido quando o arquivo de configuração YAML for fornecido, consulte os documentos vinculados para os comandos correspondentes.

Para obter mais informações sobre a estrutura do arquivo de configuração yaml, visite este site.


disableTelemetry - Desabilitar de telemetria
boolean.

Se definido como 'true', nenhuma telemetria será coletada por esta Tarefa do Azure DevOps. Se definido como 'false', ou se esse argumento não for fornecido, a telemetria será enviada à Microsoft sobre o cenário de build e implantação do Aplicativo de Contêiner direcionado por esta Tarefa do Azure DevOps.


Opções de controle de tarefa

Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.

Variáveis de saída

Nenhum.

Observações

Essa Tarefa do Azure Pipelines permite que os usuários implantem facilmente sua fonte de aplicativo em um aplicativo de contêiner do Azure em seu fluxo de trabalho do Azure Pipelines fornecendo uma imagem criada anteriormente, um Dockerfile do qual uma imagem pode ser criada ou usando um construtor para criar uma imagem de aplicativo executável para o usuário.

A tarefa tem os dois padrões de uso a seguir.

  • enviar por push uma imagem para o ACR – ao enviar uma nova imagem por push para o ACR, as entradas da tarefa acrName e appSourcePath são necessárias.
  • Implantação de uma imagem enviada por push anteriormente – ao implantar uma imagem enviada por push anteriormente, a entrada da tarefa imageToDeploy é necessária. Se essa imagem for encontrada em uma instância do ACR que requer autenticação para pull, o argumento acrName ou os argumentos acrUsername e acrPassword poderão ser fornecidos para autenticar solicitações para a instância do ACR.

Nota

Embora nenhuma entrada de tarefa seja oficialmente marcada como "necessária" nos metadados dessa tarefa, algumas entradas precisarão ser fornecidas para que essa tarefa seja executada com êxito usando um dos dois principais padrões de uso.

Se nenhum Dockerfile for encontrado ou fornecido na fonte do aplicativo fornecida, as seguintes etapas serão executadas por esta tarefa:

  • Usa o Construtor Oryx++ para criar a fonte do aplicativo usando Oryx para produzir uma imagem de aplicativo executável
  • Envia por push essa imagem de aplicativo executável para o Registro de Contêiner do Azure fornecido
  • Cria ou atualiza um aplicativo de contêiner com base nessa imagem

Se um Dockerfile for encontrado ou descoberto na fonte do aplicativo, o construtor não será usado e a imagem será criada com uma chamada para docker build e o Aplicativo de Contêiner será criado ou atualizado com base nessa imagem.

Se uma imagem criada anteriormente já tiver sido enviada por push para a instância do ACR e for fornecida para essa tarefa, nenhuma fonte de aplicativo será necessária e a imagem será usada ao criar ou atualizar o Aplicativo de Contêiner.

Executando esta tarefa em agentes hospedados pela Microsoft

Se você estiver executando essa tarefa em um agente hospedado pela Microsoft, poderá descobrir que essa tarefa não capaz de ser executada com êxito com os seguintes sistemas operacionais:

  • macOS
    • Os de executores do macOS fornecidos pela Microsoft não vêm instalados com o Docker (mais informações aqui); como resultado, essa tarefa não é capaz de executar nenhum comando docker, como enviar por push as imagens de aplicativo executáveis criadas para o ACR.
  • Windows
    • Os os executores do Windows fornecidos pela Microsoft vêm com o Docker instalado, mas, por padrão, as imagens baseadas em Linux não podem ser retiradas; como resultado, essa tarefa não é capaz de efetuar pull do construtor Oryx para criar imagens de aplicativo executáveis da origem do aplicativo fornecida.

Consulte a seção de pré-requisitos do Docker abaixo para obter mais informações.

Aviso de coleta de dados/telemetria

Por padrão, essa Tarefa do Azure DevOps coleta os seguintes dados para a Microsoft:

  • O cenário de compilação e implantação do Aplicativo de Contêiner direcionado pelo usuário
    • ou seja,, usou o Construtor Oryx++, usou um Dockerfile fornecido/encontrado ou forneceu uma imagem criada anteriormente
    • Observação: o nome da imagem não coletado
  • O tempo de processamento da tarefa, em milissegundos
  • O resultado da tarefa
    • ou seja,, bem-sucedido ou com falha
  • Se o Construtor Oryx++ for usado, eventos e métricas relacionadas à criação do aplicativo fornecido usando o Oryx

Se você quiser desabilitar a coleta de dados, defina o argumento disableTelemetry como true.

Pré-requisitos

Antes de executar essa tarefa, os recursos do Azure e uma conexão de serviço do Azure DevOps são necessários ou opcionais, dependendo dos argumentos fornecidos para essa tarefa.

Conexão de serviço do Azure DevOps

Para implantar no Azure, uma assinatura do Azure precisa ser vinculada ao Team Foundation Server ou ao Azure Pipelines usando a guia Serviços na seção de configurações. Adicione a assinatura do Azure a ser usada na definição de Build ou Gerenciamento de Versão abrindo a tela Administração da Conta (ícone de engrenagem no canto superior direito da tela) e clique na Guia Serviços.

Crie o ponto de extremidade de serviço ARM e use o tipo de ponto de extremidade 'Azure Resource Manager' ; para obter mais informações sobre como criar conexões de serviço, siga este documento.

Azure CLI

Essa tarefa exige que a CLI do Azure esteja instalada no agente do Azure Pipelines para executar uma variedade de comandos durante a execução da tarefa. Para obter mais informações sobre como instalar a CLI do Azure no agente, consulte este documento. Se um agente já estiver em execução no computador no qual a CLI do Azure está instalada, reinicie o agente para que todas as variáveis de ambiente relevantes sejam atualizadas.

Estivador

Essa tarefa exige que o Docker esteja instalado no agente do Azure Pipelines para enviar imagens por push para o Registro de Contêiner do Azure fornecido. Para obter mais informações sobre como instalar o Docker no agente, consulte este documento.

Além disso, os usuários que executam essa tarefa com um agente do Windows podem encontrar um problema ao não conseguir efetuar pull de imagens baseadas em Linux; para resolver isso, visite este site ou localize o arquivo DockerCli.exe em seu agente (normalmente na pasta Program Files\Docker\Docker) e execute

& `.\DockerCli.exe` -SwitchDaemon

Se o Docker não estiver instalado no agente que executa esta tarefa, os seguintes cenários ainda estarão habilitados:

  • Fornecendo uma imagem criada anteriormente para o argumento com o qual o Aplicativo contêiner implanta

Se o Docker estiver no agente, mas não puder trabalhar com imagens baseadas em Linux, os seguintes cenários ainda estarão habilitados:

  • Fornecendo uma imagem criada anteriormente para o argumento com o qual o Aplicativo contêiner implanta
  • Fornecer uma Dockerfile como parte da fonte do aplicativo que será criada e implantada com o Aplicativo de Contêiner
    • Observação: o Dockerfile não pode ter nenhuma camada de imagem baseada em Linux

CLI do pacote

A CLI do pacote é mantida pelo projeto Cloud Native Buildpacks e é usada por essa tarefa para criar imagens de aplicativo executáveis para o usuário quando o código-fonte do aplicativo é fornecido e nenhum Dockerfile adicional é fornecido ou encontrado. Um construtor foi criado pela Oryx para usar o código-fonte do aplicativo fornecido para essa tarefa e produzir uma imagem que poderia ser enviada por push para um registro de imagem e usada em um Aplicativo de Contêiner para compilar e executar o aplicativo.

Uma versão estável da CLI do pacote é instalada no agente do Azure Pipelines executando a tarefa e, dependendo do sistema operacional base desse agente, diferentes ferramentas serão aproveitadas para ajudar na instalação:

  • Em executores do Windows:
    • Um conjunto de comandos do PowerShell é executado para fazer o seguinte:
      • Cria uma pasta pack na pasta temporária do agente, se a pasta pack ainda não existir
      • Baixa a CLI do pacote .zip nesta pasta pack
      • Descompacta o conteúdo desse .zip e os coloca na pasta pack
      • Exclui o .zip
  • Em executores que não são do Windows:
    • curl será usado para efetuar pull do .tgz que contém o executável pack
    • tar será usado para descompactar o .tgz e colocar o executável pack em /usr/local/bin

Registro de Contêiner do Azure

Um Registro de Contêiner do Azure deve existir para o qual o usuário possa enviar imagens de contêiner por push. Essa tarefa aproveitará o Registro de Contêiner do Azure para enviar por push uma imagem de aplicativo executável para e/ou implantar um Aplicativo de Contêiner.

O nome do Registro de Contêiner do Azure é necessário por meio do argumento acrName.

O usuário também pode fornecer valores para os argumentos acrUsername e acrPassword que autenticarão chamadas para a instância do Registro de Contêiner do Azure; se não for fornecido, um token de acesso será gerado por meio da CLI do Azure que autenticará as chamadas.

Ambiente do Aplicativo de Contêiner do Azure

É recomendável que um ambiente aplicativo de contêiner do Azure tenha sido criado anteriormente pelo usuário para melhorar o desempenho da tarefa. Se nenhum ambiente tiver sido criado antes ou se um ambiente não puder ser encontrado no grupo de recursos que está sendo usado para hospedar o Aplicativo de Contêiner criado, um ambiente será criado como parte do comando az containerapp up, o que pode levar mais tempo.

Exemplos

Os exemplos a seguir descrevem como usar o AzureContainerApps em cenários diferentes.

Mínimo – Criar imagem do aplicativo para o aplicativo de contêiner

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'

Isso criará um novo Aplicativo de Contêiner chamado ado-task-app-<build-id>-<build-number> em um novo grupo de recursos chamado <container-app-name>-rg. O Aplicativo de Contêiner será baseado em uma imagem que foi criada a partir da appSourcePath fornecida e enviada por push para a instância do ACR fornecida. Um token de acesso será gerado para autenticar o push para a instância do ACR fornecida.

Mínimo – Usar imagem publicada anteriormente para o Aplicativo de Contêiner

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    imageToDeploy: mcr.microsoft.com/<existing-image>:latest

Isso criará um novo Aplicativo de Contêiner chamado ado-task-app-<build-id>-<build-number> em um novo grupo de recursos chamado <container-app-name>-rg em que nenhuma nova imagem é criada, mas uma imagem existente chamada mcr.microsoft.com/<existing-image>:latest será usada para o Aplicativo de Contêiner.

Mínimo – Usar o arquivo de configuração YAML com a imagem publicada anteriormente para o Aplicativo de Contêiner

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    yamlConfigPath: simple-image-container-app.yaml

Isso criará um novo Aplicativo de Contêiner chamado ado-task-app-<build-id>-<build-number> em um novo grupo de recursos chamado <container-app-name>-rg em que nenhuma nova imagem é criada, mas uma imagem existente chamada mcr.microsoft.com/<existing-image>:latest será usada para o Aplicativo de Contêiner. Propriedades adicionais sobre o Aplicativo de Contêiner serão extraídas do arquivo simple-image-container-app.yaml e substituirão quaisquer valores adicionais que teriam sido fornecidos à tarefa como argumentos excluindo resourceGroup.

O arquivo simple-image-container-app.yaml tem a seguinte estrutura:

properties:
  managedEnvironmentId: /subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.App/managedEnvironments/CONTAINER_APP_ENVIRONMENT
  configuration:
    ingress:
      external: true
      allowInsecure: false
      targetPort: 80
  template:
    containers:
      - image: mcr.microsoft.com/<existing-image>:latest
        name: mysampleimagecontainer

Os valores de SUBSCRIPTION_ID, RESOURCE_GROUP e CONTAINER_APP_ENVIRONMENT devem ser atualizados para apontar para a ID de recurso completa do ambiente de aplicativo de contêiner existente que o Aplicativo contêiner usará.

Usando credenciais do ACR para autenticar

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    acrUsername: $(ACR_USERNAME_SECRET)
    acrPassword: $(ACR_PASSWORD_SECRET)

Isso criará um novo Aplicativo de Contêiner chamado ado-task-app-<build-id>-<build-number> em um novo grupo de recursos chamado <container-app-name>-rg. O Aplicativo de Contêiner será baseado em uma imagem que foi criada a partir da appSourcePath fornecida e enviada por push para a instância do ACR fornecida. As credenciais do ACR fornecidas serão usadas para autenticar chamadas para a instância do ACR.

Nome do aplicativo de contêiner fornecido

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    containerAppName: 'my-test-container-app'

Isso criará um novo Aplicativo de Contêiner chamado my-test-container-app em um novo nome de grupo de recursos my-test-container-app-rg.

Grupo de recursos fornecido

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    resourceGroup: 'my-test-rg'

Isso criará um novo Aplicativo de Contêiner chamado ado-task-app-<build-id>-<build-number> em um grupo de recursos chamado my-test-rg. Se o grupo de recursos my-test-rg não existir, ele será criado como parte dessa tarefa.

Nome do aplicativo de contêiner e grupo de recursos fornecidos

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    containerAppName: 'my-test-container-app'
    resourceGroup: 'my-test-rg'

Isso criará um novo Aplicativo de Contêiner chamado my-test-container-app em um grupo de recursos chamado my-test-rg. Se o grupo de recursos my-test-rg não existir, ele será criado como parte dessa tarefa.

Ambiente de aplicativo de contêiner fornecido

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    containerAppEnvironment: 'my-test-container-app-env'

Isso criará um novo Aplicativo de Contêiner chamado ado-task-app-<build-id>-<build-number> em um novo grupo de recursos chamado <container-app-name>-rg com um novo ambiente de Aplicativo de Contêiner chamado my-test-container-app-env.

Pilha de runtime fornecida

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    runtimeStack: 'dotnetcore:7.0'

Isso criará um novo Aplicativo de Contêiner chamado ado-task-app-<build-id>-<build-number> em um novo grupo de recursos chamado <container-app-name>-rg em que a imagem do aplicativo executável está usando a pilha de runtime do .NET 7.

Dockerfile fornecido

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    dockerfilePath: 'test.Dockerfile'

Isso criará um novo Aplicativo de Contêiner chamado ado-task-app-<build-id>-<build-number> em um novo grupo de recursos chamado <container-app-name>-rg em que a imagem do aplicativo executável foi criada a partir do arquivo test.Dockerfile encontrado no diretório de caminho de origem do aplicativo fornecido.

Observação: para valores fornecidos para dockerfilePath, nenhum prefixo de arquivo deve ser incluído (por exemplo,, ./test.Dockerfile deve ser passado como apenas test.Dockerfile). Os argumentos appSourcePath e dockerfilePath fornecidos serão concatenados dentro da tarefa.

Imagem a ser criada fornecida

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    imageToBuild: 'mytestacr.azurecr.io/app:latest'

Isso criará um novo Aplicativo de Contêiner chamado ado-task-app-<build-id>-<build-number> em um novo grupo de recursos chamado <container-app-name>-rg em que a imagem criada e enviada por push para o ACR é denominada mytestacr.azurecr.io/app:latest.

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
Execuções em Agent, 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 2.144.0 ou superior
Categoria de tarefa Implantar

Consulte também