Partilhar via


AzureContainerApps@1 – Azure Container Apps Deploy v1 task (Implementar tarefa v1)

Uma Tarefa do Azure DevOps para criar e implementar o Azure Container Apps.

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 onde o script é executado. Vazio é a raiz do repositório (compilação) ou artefactos (versão), que é $(System.DefaultWorkingDirectory).


appSourcePath - Caminho da origem da aplicação
string.

Caminho absoluto no corredor do código da aplicação de origem a criar. Se não for fornecido, o argumento "imageToDeploy" tem de ser fornecido para garantir que a Aplicação de Contentor tem uma imagem a referenciar.

Ao emitir uma nova imagem para o ACR, as acrName entradas de tarefas e appSourcePath são necessárias.


azureSubscription - Ligação Resource Manager do Azure
Alias de entrada: connectedServiceNameARM. string. Obrigatório.

Especifique uma ligação de serviço do Azure Resource Manager para a implementação. Esta ligação de serviço tem de estar ligada à Subscrição do Azure do utilizador onde a Aplicação de Contentor será criada/atualizada. Esta ligação de serviço tem de ter permissões adequadas para efetuar estas alterações na subscrição, por exemplo, função contribuidor.


acrName - Azure Container Registry nome
string.

O nome do Azure Container Registry para o qual a imagem de aplicação executável será enviada.

Ao emitir uma nova imagem para o ACR, as acrName entradas de tarefas e appSourcePath são necessárias.


acrUsername - Azure Container Registry nome de utilizador
string.

O nome de utilizador utilizado para autenticar pedidos push para o Registo Contrainer do Azure fornecido. Se não for fornecido, será gerado um token de acesso através de "az acr login" e fornecido ao "início de sessão do docker" para autenticar os pedidos.


acrPassword - Azure Container Registry palavra-passe
string.

A palavra-passe utilizada para autenticar pedidos push para o Registo Contrainer do Azure fornecido. Se não for fornecido, será gerado um token de acesso através de "az acr login" e fornecido ao "início de sessão do docker" para autenticar os pedidos.


dockerfilePath - Caminho do Dockerfile
string.

Caminho relativo (_without prefixos de ficheiro (veja os seguintes Exemplos) para o Dockerfile na origem de aplicação fornecida que deve ser utilizada para criar a imagem que é depois enviada para o ACR e implementada na Aplicação de Contentor. Se não for fornecido, esta tarefa verificará se existe um ficheiro com o nome "Dockerfile" na raiz da origem da aplicação fornecida e utilizá-lo-á para criar a imagem. Caso contrário, o Oryx++ Builder será utilizado para criar a imagem.


imageToBuild - Imagem do Docker a compilar
string.

O nome personalizado da imagem que vai ser criada, enviada para o ACR e implementada na Aplicação de Contentor por esta tarefa. Nota: este nome de imagem deve incluir o servidor ACR; Por exemplo, <acr-name>.azurecr.io/<repo>:<tag>. Se este argumento não for fornecido, será construído um nome de imagem predefinido sob a forma de <acr-name>.azurecr.io/ado-task/container-app:<build-id>.<build-number>.


imageToDeploy - Imagem do Docker a implementar
string.

O nome da imagem que já foi enviada para o ACR e que será implementada na Aplicação de Contentor por esta tarefa. Nota: o nome da imagem deve incluir o servidor ACR; Por exemplo, <acr-name>.azurecr.io/<repo>:<tag>. Se este argumento não for fornecido, será utilizado o valor fornecido (ou determinado) para o argumento "imageToBuild". Se esta imagem for encontrada numa instância do ACR que necessite de autenticação para solicitar, o acrName argumento ou os acrUsername argumentos e acrPassword podem ser fornecidos para autenticar pedidos para a instância do ACR.


containerAppName - Nome da Aplicação de Contentor do Azure
string.

O nome da Aplicação de Contentor do Azure que será criada ou atualizada. Se não for fornecido, este 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 a Aplicação de Contentor do Azure será criada (ou existe atualmente). Se não for fornecido, este valor estará na forma de <container-app-name>-rg.


containerAppEnvironment - Ambiente do Azure Container App
string.

O nome do ambiente do Azure Container App a utilizar com a aplicação. Se não for fornecido, será utilizado um ambiente existente no grupo de recursos da Aplicação de Contentor, caso contrário, será criado um ambiente no formato .<container-app-name>-env


runtimeStack - Pilha de runtime da aplicação
string.

A pilha de versões da plataforma utilizada na imagem de aplicação executável final que é implementada na Aplicação de Contentor. O valor deve ser fornecido na formação <platform>:<version>. Se não for fornecido, este valor é determinado pela Oryx com base no conteúdo da aplicação fornecida. Veja este documento para obter mais informações sobre pilhas de runtime suportadas para o Oryx.


targetPort - Porta de destino da aplicação
string.

A porta de destino que a Aplicação de Contentor irá escutar. Se não for fornecido, este valor será "80" para aplicações Python e "8080" para todas as outras plataformas suportadas.


location - Localização da Aplicação de Contentor
string.

A localização na qual a Aplicação de Contentor (e outros recursos criados) serão implementados.


environmentVariables - Variáveis de ambiente
string.

Uma lista de variáveis de ambiente para o contentor. Valores separados por espaço no formato "key=value". Cadeia vazia para limpar valores existentes. Valor do prefixo com "secretref:" para referenciar um segredo.


ingress - Definição de entrada
string.

Opções possíveis: externas, internas, desativadas. Se estiver definida como external (valor predefinido se não for fornecido ao criar uma Aplicação de Contentor), a Aplicação de Contentor ficará visível a partir da Internet ou de uma VNET, dependendo do ponto final do ambiente da aplicação configurado. Se estiver definida como internal, a Aplicação de Contentor só estará visível a partir do ambiente da aplicação. Se definido como disabled, a entrada será desativada para esta Aplicação de Contentor e não terá um ponto final HTTP ou TCP.


yamlConfigPath - Caminho do ficheiro de configuração YAML
string.

Caminho completo (na execução do agente dos Pipelines do Azure) para o ficheiro YAML que detalha a configuração da Aplicação de Contentor.

A resourceGroup propriedade no ficheiro de configuração YAML não será utilizada; o valor para tal provém do resourceGroup argumento fornecido à tarefa ou do nome do grupo de recursos predefinido gerado pela tarefa. Todas as outras propriedades fornecidas no ficheiro de configuração YAML substituirão os valores fornecidos como argumentos para esta tarefa; por exemplo, se o containerAppName argumento for fornecido à tarefa e a name propriedade estiver definida no ficheiro de configuração YAML, a name propriedade no ficheiro YAML será utilizada ao criar ou atualizar a Aplicação de Contentor.

Os argumentos de origem de imagens e aplicações (por exemplo, appSourcePath, imageToDeploy) continuarão a ser utilizados para criar e/ou emitir uma imagem que é utilizada pela Aplicação de Contentor; neste caso, o ficheiro de configuração YAML fornecido terá de referenciar a imagem especificada por imageToDeploy (ou imageToBuild, consoante o seu cenário).

Ao criar uma nova Aplicação de Contentor, todas as propriedades listadas no ficheiro de configuração YAML (exceto resourceGroup conforme mencionado acima) serão definidas quando a Aplicação de Contentor for criada. Ao atualizar uma Aplicação de Contentor existente, apenas as propriedades listadas no ficheiro serão atualizadas na Aplicação de Contentor.

Atualmente, o ficheiro YAML não suporta a configuração da autenticação de identidade gerida para o registo de contentor utilizado; para obter mais informações sobre este problema, veja este problema do GitHub.

Nos casos em que o yamlConfigPath argumento é fornecido, o ficheiro YAML será transmitido para o comando correspondente az containerapp ou createupdate consoante o seu cenário. Para obter mais informações sobre o comportamento pretendido quando o ficheiro de configuração YAML é fornecido, consulte os documentos ligados para os comandos correspondentes.

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


disableTelemetry - Desativar a telemetria
boolean.

Se estiver definido como "verdadeiro", nenhuma telemetria será recolhida por esta Tarefa do Azure DevOps. Se estiver definido como "falso" ou se este argumento não for fornecido, a telemetria será enviada para a Microsoft sobre o cenário de compilação e implementação da Aplicação de Contentores visado por esta Tarefa do Azure DevOps.


Opções de controlo de tarefas

Todas as tarefas têm opções de controlo para além das entradas de tarefas. Para obter mais informações, veja Opções de controlo e propriedades de tarefas comuns.

Variáveis de saída

Nenhum.

Observações

Esta Tarefa de Pipelines do Azure permite que os utilizadores implementem facilmente a respetiva origem de aplicação numa Aplicação de Contentor do Azure no fluxo de trabalho dos Pipelines do Azure, fornecendo uma imagem criada anteriormente, um Dockerfile a partir do qual uma imagem pode ser criada ou utilizando um construtor para criar uma imagem de aplicação executável para o utilizador.

A tarefa tem os dois padrões de utilização seguintes.

  • Emitir uma imagem para o ACR – ao emitir uma nova imagem para o ACR, as acrName entradas de tarefas e appSourcePath são necessárias.
  • Implementar uma imagem previamente enviada – ao implementar uma imagem enviada anteriormente, a entrada da imageToDeploy tarefa é necessária. Se esta imagem for encontrada numa instância do ACR que necessite de autenticação para solicitar, o acrName argumento ou os acrUsername argumentos e acrPassword podem ser fornecidos para autenticar pedidos para a instância do ACR.

Nota

Embora nenhuma entrada de tarefa esteja oficialmente marcada como "necessária" nos metadados desta tarefa, algumas entradas terão de ser fornecidas para que esta tarefa seja executada com êxito através de um dos dois principais pattenrs de utilização.

Se não for encontrado ou fornecido nenhum Dockerfile na origem da aplicação fornecida, os seguintes passos são executados por esta tarefa:

  • Utiliza o Oryx++ Builder para criar a origem da aplicação com o Oryx para produzir uma imagem de aplicação executável
  • Envia esta imagem de aplicação executável para o Azure Container Registry fornecido
  • Cria ou atualiza uma Aplicação de Contentor com base nesta imagem

Se um Dockerfile for encontrado ou detetado na origem da aplicação, o construtor não será utilizado e a imagem será criada com uma chamada para docker build e a Aplicação de Contentor será criada ou atualizada com base nesta imagem.

Se uma imagem criada anteriormente já tiver sido enviada para a instância do ACR e for fornecida para esta tarefa, não é necessária nenhuma origem de aplicação e a imagem será utilizada ao criar ou atualizar a Aplicação de Contentor.

Executar esta tarefa em agentes alojados na Microsoft

Se estiver a executar esta tarefa num agente alojado na Microsoft, poderá constatar que esta tarefa não é capaz de ser executada com êxito com os seguintes sistemas operativos:

  • macOS
    • Os corredores macOS fornecidos pela Microsoft não vêm instalados com o Docker (mais informações aqui); Como resultado, esta tarefa não é capaz de executar quaisquer docker comandos, como enviar as imagens de aplicação executáveis incorporadas para o ACR.
  • Windows
    • Os corredores do Windows fornecidos pela Microsoft vêm com o Docker instalado, mas, por predefinição, as imagens baseadas no Linux não podem ser retiradas; Como resultado, esta tarefa não é capaz de extrair o construtor do Oryx para criar imagens de aplicação executáveis a partir da origem da aplicação fornecida.

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

Aviso de Recolha de Dados/Telemetria

Por predefinição, esta Tarefa de DevOps do Azure recolhe os seguintes dados para a Microsoft:

  • O cenário de compilação e implementação da Aplicação de Contentor visado pelo utilizador
    • Ou seja, utilizou o Oryx++ Builder, utilizou um Dockerfile fornecido/encontrado ou forneceu uma imagem criada anteriormente
    • Nota: o nome da imagem não é recolhido
  • O tempo de processamento da tarefa, em milissegundos
  • O resultado da tarefa
    • ou seja, com êxito ou com falha
  • Se o Oryx++ Builder for utilizado, eventos e métricas relacionados com a criação da aplicação fornecida com o Oryx

Se quiser desativar a recolha de dados, defina o disableTelemetry argumento como true.

Pré-requisitos

Antes de executar esta tarefa, os recursos do Azure e uma ligação de serviço do Azure DevOps são necessários ou opcionais, consoante os argumentos fornecidos a esta tarefa.

Ligação de Serviço do Azure DevOps

Para implementar no Azure, uma subscrição do Azure tem de ser associada ao Team Foundation Server ou ao Azure Pipelines com o separador Serviços na secção de definições. Adicione a subscrição do Azure a utilizar na definição Criar ou Gestão de Versões ao abrir o ecrã Administração de Contas (ícone de engrenagem no canto superior direito do ecrã) e, em seguida, clique no Separador Serviços.

Crie o ponto final do serviço ARM e utilize o tipo de ponto final "Azure Resource Manager". Para obter mais informações sobre como criar ligações de serviço, siga este documento.

CLI do Azure

Esta tarefa requer que a CLI do Azure esteja instalada no agente dos Pipelines do Azure para executar uma variedade de comandos ao longo da execução da tarefa. Para obter mais informações sobre como instalar a CLI do Azure no agente, veja este documento. Se um agente já estiver em execução no computador no qual a CLI do Azure está instalada, certifique-se de que reinicia o agente para que todas as variáveis de ambiente relevantes sejam atualizadas.

Docker

Esta tarefa requer que o Docker esteja instalado no agente do Azure Pipelines para enviar imagens para o Azure Container Registry fornecido. Para obter mais informações sobre como instalar o Docker no agente, veja este documento.

Além disso, os utilizadores que executam esta tarefa com um agente do Windows podem ter um problema ao não conseguirem extrair imagens baseadas no Linux; para resolver este problema, visite este site ou localize o DockerCli.exe ficheiro no seu agente (normalmente na Program Files\Docker\Docker pasta) e execute

& `.\DockerCli.exe` -SwitchDaemon

Se o Docker não estiver instalado no agente que está a executar esta tarefa, os seguintes cenários ainda estão ativados:

  • Fornecer uma imagem criada anteriormente para o imageToDeploy argumento que a Aplicação de Contentor implementa com

Se o Docker estiver no agente, mas não conseguir trabalhar com imagens baseadas no Linux, os seguintes cenários ainda estão ativados:

  • Fornecer uma imagem criada anteriormente para o imageToDeploy argumento que a Aplicação de Contentor implementa com
  • Fornecer como Dockerfile parte da sua origem de aplicação que será criada e implementada com a Aplicação de Contentor
    • Nota: não Dockerfile é possível ter camadas de imagem baseadas em Linux

CLI do pacote

A CLI do pacote é mantida pelo projeto Cloud Native Buildpacks e é utilizada por esta tarefa para criar imagens de aplicação executáveis para o utilizador quando o código fonte da aplicação é fornecido e nenhum Dockerfile adicional é fornecido ou encontrado. O Oryx criou um construtor para obter o código fonte da aplicação fornecido a esta tarefa e produzir uma imagem que poderia ser enviada para um registo de imagens e utilizada numa Aplicação de Contentor para criar e executar a aplicação.

É instalada uma versão estável da CLI do pacote no agente do Azure Pipelines que executa a tarefa e, dependendo do SO base deste agente, as diferentes ferramentas serão aproveitadas para ajudar na instalação:

  • Em corredores do Windows:
    • É executado um conjunto de comandos do PowerShell para fazer o seguinte:
      • Cria uma pack pasta na pasta temporária do agente, se a pack pasta ainda não existir
      • Transfere a CLI .zip do pacote para esta pack pasta
      • Deszipa o conteúdo desta .zip pasta e coloca-os na pack pasta
      • Elimina o .zip
  • Em corredores que não são do Windows:
    • curl será utilizado para puxar para baixo o .tgz que contém o pack executável
    • tar será utilizado para deszipar o .tgz e colocar o pack executável em /usr/local/bin

Registo de Contentores do Azure

Tem de existir uma Azure Container Registry para a qual o utilizador consiga enviar imagens de contentor. Esta tarefa irá tirar partido do Azure Container Registry para emitir uma imagem de aplicação executável compilada para e/ou implementar uma Aplicação de Contentor a partir de.

O nome do Azure Container Registry é necessário através do acrName argumento .

O utilizador também pode fornecer valores para os acrUsername argumentos e acrPassword que autenticarão chamadas para a instância Azure Container Registry; se não for fornecido, será gerado um token de acesso através da CLI do Azure que irá autenticar as chamadas.

Ambiente do Azure Container App

Recomenda-se que um ambiente do Azure Container App tenha sido criado anteriormente pelo utilizador para melhorar o desempenho da tarefa. Se não tiver sido criado nenhum ambiente antes ou se não for possível encontrar um ambiente no grupo de recursos que está a ser utilizado para alojar a Aplicação de Contentor criada, será criado um ambiente como parte do comando, o az containerapp up que poderá demorar mais tempo.

Exemplos

Os exemplos seguintes descrevem como utilizar o AzureContainerApps em diferentes cenários.

Mínimo - Criar imagem de aplicação para a Aplicação de Contentor

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

Esta ação irá criar uma nova Aplicação de Contentor com o nome ado-task-app-<build-id>-<build-number> num novo grupo de recursos com o nome <container-app-name>-rg. A Aplicação de Contentor será baseada numa imagem criada a partir da instância do ACR fornecida appSourcePath e enviada para a instância do ACR fornecida. Será gerado um token de acesso para autenticar o push para a instância do ACR fornecida.

Mínimo - Utilizar a imagem publicada anteriormente para a Aplicação de Contentor

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    imageToDeploy: mcr.microsoft.com/azuredocs/containerapps-helloworld:latest

Esta ação irá criar uma nova Aplicação de Contentor com o nome ado-task-app-<build-id>-<build-number> num novo grupo de recursos com o nome <container-app-name>-rgonde não é criada nenhuma nova imagem, mas será utilizada uma imagem existente com o nome mcr.microsoft.com/azuredocs/containerapps-helloworld:latest para a Aplicação de Contentor.

Mínimo - Utilizar o ficheiro de configuração YAML com a imagem publicada anteriormente para a Aplicação de Contentor

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

Esta ação irá criar uma nova Aplicação de Contentor com o nome ado-task-app-<build-id>-<build-number> num novo grupo de recursos com o nome <container-app-name>-rgonde não é criada nenhuma nova imagem, mas será utilizada uma imagem existente com o nome mcr.microsoft.com/azuredocs/containerapps-helloworld:latest para a Aplicação de Contentor. As propriedades adicionais sobre a Aplicação de Contentor serão retiradas do simple-image-container-app.yaml ficheiro e substituirão quaisquer valores adicionais que teriam sido fornecidos à tarefa como argumentos , excluindo resourceGroup.

O simple-image-container-app.yaml ficheiro 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 para SUBSCRIPTION_ID, RESOURCE_GROUP e CONTAINER_APP_ENVIRONMENT têm de ser atualizados para apontar para o ID de recurso completo do ambiente existente da Aplicação de Contentor que a Aplicação de Contentor irá utilizar.

Utilizar 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)

Esta ação irá criar uma nova Aplicação de Contentor com o nome ado-task-app-<build-id>-<build-number> num novo grupo de recursos com o nome <container-app-name>-rg. A Aplicação de Contentor será baseada numa imagem criada a partir da instância do ACR fornecida appSourcePath e enviada para a instância do ACR fornecida. As credenciais do ACR fornecidas serão utilizadas para autenticar chamadas para a instância do ACR.

Nome da Aplicação de Contentor 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'

Esta ação irá criar uma nova Aplicação de Contentor com o nome my-test-container-app num novo nome my-test-container-app-rgde grupo de recursos.

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'

Esta ação irá criar uma nova Aplicação de Contentor com o nome ado-task-app-<build-id>-<build-number> num grupo de recursos com o nome my-test-rg. Se o my-test-rg grupo de recursos não existir, será criado como parte desta tarefa.

Nome da Aplicação de Contentor 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'

Esta ação irá criar uma nova Aplicação de Contentor com o nome my-test-container-app num grupo de recursos com o nome my-test-rg. Se o my-test-rg grupo de recursos não existir, será criado como parte desta tarefa.

Ambiente das Container Apps 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'

Esta ação irá criar uma nova Aplicação de Contentor com o nome ado-task-app-<build-id>-<build-number> num novo grupo de recursos com o nome <container-app-name>-rg com um novo ambiente de Aplicação de Contentor com o nome 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'

Esta ação irá criar uma nova Aplicação de Contentor com o nome ado-task-app-<build-id>-<build-number> num novo grupo de recursos com o nome <container-app-name>-rg onde a imagem da aplicação executável está a utilizar a pilha de runtime .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'

Esta ação irá criar uma nova Aplicação de Contentor com o nome ado-task-app-<build-id>-<build-number> num novo grupo de recursos com o nome <container-app-name>-rg onde a imagem da aplicação executável foi criada a test.Dockerfile partir do ficheiro encontrado no diretório de caminho de origem da aplicação fornecido.

Nota: para os valores fornecidos a dockerfilePath, não devem ser incluídos prefixos de ficheiro (por exemplo, ./test.Dockerfile deve ser transmitido como apenas test.Dockerfile). Os argumentos fornecidos appSourcePath e dockerfilePath serão concatenados dentro da tarefa.

Imagem a compilar 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'

Esta ação irá criar uma nova Aplicação de Contentor com o nome ado-task-app-<build-id>-<build-number> num novo grupo de recursos com o nome <container-app-name>-rg onde a imagem foi criada e enviada para o ACR com o nome mytestacr.azurecr.io/app:latest.

Requisitos

Requisito Description
Tipos de pipeline YAML, Compilação clássica, Versão clássica
É executado em Agent, DeploymentGroup
Exigências Nenhuma
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa.
Restrições de comandos Qualquer
Variáveis de definição Qualquer
Versão do agente 2.144.0 ou superior
Categoria da tarefa Implementar

Ver também