Compartilhar via


AzureContainerApps@1 – Tarefa Implantar v1 dos Aplicativos de Contêiner do Azure

Uma Tarefa do Azure DevOps para criar e implantar Aplicativos de Contêiner do Azure.

Syntax

# 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

workingDirectory - Diretório de Trabalho
Alias de entrada: cwd. string.

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


appSourcePath - Caminho de origem do aplicativo
string.

Caminho absoluto no executor do código do aplicativo de origem 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 acrName tarefa e appSourcePath são necessárias.


azureSubscription - Conexão de Resource Manager do Azure
Alias de entrada: connectedServiceNameARM. string. Obrigatórios.

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


acrName - Registro de Contêiner do Azure nome
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 acrName tarefa e appSourcePath são necessárias.


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

O nome de usuário usado para autenticar solicitações de 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 ao 'docker login' para autenticar as solicitações.


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

A senha usada para autenticar solicitações de 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 ao 'docker login' para autenticar as solicitações.


dockerfilePath - Caminho do Dockerfile
string.

Caminho relativo (_without prefixos de arquivo (consulte os exemplos a seguir) para o Dockerfile na fonte de aplicativo fornecida que deve ser usada para compilar a imagem que, em seguida, é enviada por push para o ACR e implantada no Aplicativo de Contêiner. Se não for fornecida, essa tarefa marcar se houver um arquivo chamado 'Dockerfile' na raiz da origem do aplicativo fornecida e usá-lo para compilar a imagem. Caso contrário, o Construtor Oryx++ será usado para criar a imagem.


imageToBuild - Imagem do Docker a ser compilada
string.

O nome personalizado da imagem que deve 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 a ser implantada
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 efetuar pull, o acrName argumento ou os acrUsername argumentos 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 - 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 pelo 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.


targetPort - 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 em que o Aplicativo de Contêiner (e outros recursos criados) será implantado.


environmentVariables - Variáveis de ambiente
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 external como (valor padrão se não for fornecido ao criar um Aplicativo de Contêiner), o Aplicativo de Contêiner ficará visível da Internet ou de 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 , a disabledentrada 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 resourceGroup propriedade no arquivo de configuração YAML não será usada; o valor para isso vem do resourceGroup argumento fornecido para a 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 containerAppName argumento for fornecido para a tarefa e a name propriedade for definida no arquivo de configuração YAML, a name propriedade no arquivo YAML será usada ao criar ou atualizar o Aplicativo de Contêiner.

Os argumentos de origem de imagem e aplicativo (por exemplo, appSourcePath, imageToDeploy) ainda serão usados para primeiro 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 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 yamlConfigPath argumento é fornecido, o arquivo YAML será passado para o comando correspondente az containerapp , seja create ouupdate 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 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 da tarefa

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

Variáveis de saída

Nenhum.

Comentários

Essa Tarefa do Azure Pipelines permite que os usuários implantem facilmente sua origem 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.

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

Observação

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 pattenrs de uso main.

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

  • Usa o Construtor Oryx++ para criar a origem do aplicativo usando o Oryx para produzir uma imagem de aplicativo executável
  • Envia essa imagem de aplicativo executável por push 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 origem 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 a 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 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 docker comando, como enviar por push as imagens de aplicativo executáveis criadas para o ACR.
  • Windows
    • 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, foi bem-sucedido ou falhou
  • Se o Construtor Oryx++ for usado, eventos e métricas relacionados à criação do aplicativo fornecido usando o Oryx

Se você quiser desabilitar a coleta de dados, defina o disableTelemetry argumento 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 configurações. Adicione a assinatura do Azure a ser usada na definição Compilar ou Release Management abrindo a tela Administração de Conta (ícone de engrenagem no canto superior direito da tela) e clique na Guia Serviços.

Crie o ponto de extremidade de serviço do 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.

CLI do Azure

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, certifique-se de reiniciar o agente para que todas as variáveis de ambiente relevantes sejam atualizadas.

Docker

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 resolve isso, visite este site ou localize o DockerCli.exe arquivo em seu agente (normalmente na Program Files\Docker\Docker pasta) e execute

& `.\DockerCli.exe` -SwitchDaemon

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

  • Fornecendo uma imagem criada anteriormente para o imageToDeploy argumento que o Aplicativo de Contêiner implanta com

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 imageToDeploy argumento que o Aplicativo de Contêiner implanta com
  • Fornecendo um Dockerfile como parte da origem do aplicativo que será criado e implantado com o Aplicativo de Contêiner
    • Observação: o Dockerfile não pode ter camadas de imagem baseadas em Linux

CLI do pacote

A CLI do pacote é mantida pelo projeto Buildpacks nativo de nuvem 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 pack pasta na pasta temporária do agente, se a pack pasta ainda não existir
      • Baixa a CLI .zip do pacote nesta pack pasta
      • Descompacta o conteúdo disso .zip e os coloca na pack pasta
      • Exclui o .zip
  • Em executores que não são do Windows:
    • curl será usado para efetuar pull do .tgz que contém o pack executável
    • tar será usado para descompactar o .tgz e colocar o pack executável 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 é capaz de enviar imagens de contêiner por push. Essa tarefa aproveitará a Registro de Contêiner do Azure para enviar por push uma imagem de aplicativo executável criada para e/ou implantar um Aplicativo de Contêiner.

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

O usuário também pode fornecer valores para os acrUsername argumentos e acrPassword que autenticarão chamadas para a instância 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 de 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 por como parte do comando, o az containerapp up que pode levar mais tempo.

Exemplos

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

Mínimo – Criar imagem de 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 do fornecido appSourcePath e enviado 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 a 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/azuredocs/containerapps-helloworld: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 onde nenhuma nova imagem é criada, mas uma imagem existente chamada mcr.microsoft.com/azuredocs/containerapps-helloworld:latest será usada para o Aplicativo de Contêiner.

Mínimo – Usar o arquivo de configuração YAML com 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 onde nenhuma nova imagem é criada, mas uma imagem existente chamada mcr.microsoft.com/azuredocs/containerapps-helloworld:latest será usada para o Aplicativo de Contêiner. Propriedades adicionais sobre o Aplicativo de Contêiner serão extraídas do simple-image-container-app.yaml arquivo e substituirão quaisquer valores adicionais que teriam sido fornecidos à tarefa como argumentos , excluindo resourceGroup.

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

properties:
  managedEnvironmentId: /subscriptions/SUBSCRIPTION_ID/resourceGroup/RESOURCE_GROUP/providers/Microsoft.App/managedEnvironments/CONTAINER_APP_ENVIRONMENT
  configuration:
    ingress:
      external: true
      allowInsecure: false
      targetPort: 80
  template:
    containers:
      - image: mcr.microsoft.com/azuredocs/containerapps-helloworld:latest
        name: mysampleimagecontainer

Os valores de SUBSCRIPTION_IDe RESOURCE_GROUPCONTAINER_APP_ENVIRONMENT devem ser atualizados para apontar para a ID de recurso completa do ambiente existente do Aplicativo de Contêiner que o Aplicativo de 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 do fornecido appSourcePath e enviado 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 my-test-rg grupo de recursos 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 my-test-rg grupo de recursos não existir, ele será criado como parte dessa tarefa.

Ambiente 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'
    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 test.Dockerfile arquivo encontrado no diretório de caminho de origem do aplicativo fornecido.

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

Imagem para compilação 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
É executado em Agent, DeploymentGroup
Demandas Nenhum
Funcionalidades Essa tarefa não atende a nenhuma demanda por tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis configuráveis Qualquer
Versão do agente 2.144.0 ou superior
Categoria da tarefa Implantar

Confira também