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
eappSourcePath
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 argumentoacrName
ou os argumentosacrUsername
eacrPassword
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.
- 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
- 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
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
-
Observação: o
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 pastapack
ainda não existir - Baixa a CLI do pacote
.zip
nesta pastapack
- Descompacta o conteúdo desse
.zip
e os coloca na pastapack
- Exclui o
.zip
- Cria uma pasta
- Um conjunto de comandos do PowerShell é executado para fazer o seguinte:
- Em executores que não são do Windows:
-
curl
será usado para efetuar pull do.tgz
que contém o executávelpack
-
tar
será usado para descompactar o.tgz
e colocar o executávelpack
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 |