Compartir a través de


AzureContainerApps@1: tarea Implementación v1 de Azure Container Apps

Tarea de Azure DevOps para compilar e implementar Azure Container Apps.

Sintaxis

# 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

de directorio de trabajo de workingDirectory -
Alias de entrada: cwd. string.

Directorio de trabajo actual donde se ejecuta el script. Empty es la raíz del repositorio (compilación) o artefactos (release), que es $(System.DefaultWorkingDirectory).


appSourcePath - ruta de acceso de origen de la aplicación
string.

Ruta de acceso absoluta en el ejecutor del código fuente de la aplicación que se va a compilar. Si no se proporciona, se debe proporcionar el argumento "imageToDeploy" para asegurarse de que la aplicación contenedora tiene una imagen a la que hacer referencia.

Al insertar una nueva imagen en ACR, se requieren las entradas de tarea acrName y appSourcePath.


azureSubscription - de conexión de Azure Resource Manager
Alias de entrada: connectedServiceNameARM. string. Obligatorio.

Especifique una conexión de servicio de Azure Resource Manager para la implementación. Esta conexión de servicio debe estar vinculada a la suscripción de Azure del usuario donde se creará o actualizará la aplicación contenedora. Esta conexión de servicio debe tener los permisos adecuados para realizar estos cambios en la suscripción, por ejemplo, rol colaborador.


acrName - nombre de Azure Container Registry
string.

Nombre de Azure Container Registry al que se insertará la imagen de aplicación ejecutable.

Al insertar una nueva imagen en ACR, se requieren las entradas de tarea acrName y appSourcePath.


acrUsername - de nombre de usuario de Azure Container Registry
string.

Nombre de usuario que se usa para autenticar las solicitudes de inserción en el registro de Azure Contrainer proporcionado. Si no se proporciona, se generará un token de acceso a través de "az acr login" y se proporcionará a "docker login" para autenticar las solicitudes.


acrPassword - de contraseña de Azure Container Registry
string.

Contraseña que se usa para autenticar solicitudes de inserción en el registro de Azure Contrainer proporcionado. Si no se proporciona, se generará un token de acceso a través de "az acr login" y se proporcionará a "docker login" para autenticar las solicitudes.


dockerfilePath - ruta de acceso de Dockerfile
string.

Ruta de acceso relativa (_without prefijos de archivo (consulte los siguientes Ejemplos) al Dockerfile en el origen de aplicación proporcionado que se debe usar para compilar la imagen que se inserta en ACR e implementa en la aplicación contenedora. Si no se proporciona, esta tarea comprobará si hay un archivo denominado "Dockerfile" en la raíz del origen de aplicación proporcionado y lo usará para compilar la imagen. De lo contrario, se usará oryx++ Builder para crear la imagen.


imageToBuild - imagen de Docker para compilar
string.

Nombre personalizado de la imagen que se va a compilar, insertar en ACR e implementar en la aplicación contenedora mediante esta tarea. Nota: este nombre de imagen debe incluir el servidor ACR; Por ejemplo, <acr-name>.azurecr.io/<repo>:<tag>. Si no se proporciona este argumento, se construirá un nombre de imagen predeterminado en forma de <acr-name>.azurecr.io/ado-task/container-app:<build-id>.<build-number>.


imageToDeploy - imagen de Docker para implementar
string.

Nombre de la imagen que ya se ha insertado en ACR y se implementará en la aplicación contenedora mediante esta tarea. Nota: el nombre de la imagen debe incluir el servidor ACR; Por ejemplo, <acr-name>.azurecr.io/<repo>:<tag>. Si no se proporciona este argumento, se usará el valor proporcionado (o determinado) para el argumento 'imageToBuild'. Si esta imagen se encuentra en una instancia de ACR que requiere autenticación para extraer, el argumento acrName o los argumentos de acrUsername y acrPassword, se puede proporcionar para autenticar las solicitudes a la instancia de ACR.


containerAppName - de nombre de la aplicación contenedora de Azure
string.

Nombre de la aplicación contenedora de Azure que se creará o actualizará. Si no se proporciona, este valor estará en forma de ado-task-app-<build-id>-<build-number>.


resourceGroup - nombre del grupo de recursos de Azure
string.

El grupo de recursos existente en el que se creará la aplicación contenedora de Azure (o existe actualmente). Si no se proporciona, este valor estará en forma de <container-app-name>-rg.


containerAppEnvironment - entorno de Azure Container App
string.

Nombre del entorno de Azure Container App que se va a usar con la aplicación. Si no se proporciona, se usará un entorno existente en el grupo de recursos de la aplicación contenedora; de lo contrario, se creará un entorno con el formato de <container-app-name>-env.


de pila del entorno de ejecución de la aplicación de runtimeStack -
string.

Pila de versiones de la plataforma que se usa en la imagen de aplicación ejecutable final que se implementa en la aplicación contenedora. El valor debe proporcionarse en la formación <platform>:<version>. Si no se proporciona, Oryx determina este valor en función del contenido de la aplicación proporcionada. Consulte este documento para obtener más información sobre las pilas en tiempo de ejecución admitidas para Oryx.


targetPort - de puerto de destino de la aplicación
string.

Puerto de destino en el que escuchará la aplicación contenedora. Si no se proporciona, este valor será "80" para las aplicaciones de Python y "8080" para todas las demás plataformas compatibles.


location - ubicación del de la aplicación contenedora
string.

Ubicación en la que se implementará la aplicación contenedora (y otros recursos creados).


variables de entorno de environmentVariables -
string.

Lista de variables de entorno para el contenedor. Valores separados por espacios en formato 'key=value'. Cadena vacía para borrar los valores existentes. Valor de prefijo con "secretref:" para hacer referencia a un secreto.


ingress - configuración de entrada
string.

Opciones posibles: externa, interna, deshabilitada. Si se establece en external (valor predeterminado si no se proporciona al crear una aplicación contenedora), la aplicación contenedora será visible desde Internet o una red virtual, en función del punto de conexión del entorno de la aplicación configurado. Si se establece en internal, la aplicación contenedora solo estará visible desde dentro del entorno de la aplicación. Si se establece en disabled, la entrada se deshabilitará para esta aplicación contenedora y no tendrá un punto de conexión HTTP o TCP.


yamlConfigPath - ruta de acceso del archivo de configuración de YAML
string.

Ruta de acceso completa (en la ejecución del agente de Azure Pipelines) al archivo YAML que detalla la configuración de la aplicación contenedora.

La propiedad resourceGroup del archivo de configuración yaML no se usará; El valor de esto procede del argumento resourceGroup proporcionado a la tarea o del nombre del grupo de recursos predeterminado generado por la tarea. Todas las demás propiedades proporcionadas en el archivo de configuración de YAML invalidarán los valores proporcionados como argumentos para esta tarea; Por ejemplo, si el argumento containerAppName se proporciona a la tarea y la propiedad name se establece en el archivo de configuración de YAML, la propiedad name del archivo YAML se usará al crear o actualizar la aplicación contenedora.

Los argumentos de origen de imagen y aplicación (por ejemplo,, appSourcePath, imageToDeploy) se seguirán usando para compilar o insertar primero una imagen que use la aplicación contenedora; en este caso, el archivo de configuración YAML proporcionado tendrá que hacer referencia a la imagen especificada por imageToDeploy (o imageToBuild, en función del escenario).

Al crear una aplicación contenedora, todas las propiedades enumeradas en el archivo de configuración de YAML (excepto resourceGroup como se mencionó anteriormente) se establecerán cuando se cree la aplicación contenedora. Al actualizar una aplicación contenedora existente, solo se actualizarán las propiedades enumeradas en el archivo en la aplicación contenedora.

Actualmente, el archivo YAML no admite la configuración de la autenticación de identidad administrada para el registro de contenedor usado; para obtener más información sobre este problema, consulte este problema de GitHub.

En los casos en los que se proporcione el argumento yamlConfigPath, el archivo YAML se pasará al comando az containerapp correspondiente, ya sea create o update en función de su escenario. Para obtener más información sobre el comportamiento previsto cuando se proporciona el archivo de configuración de YAML, consulte los documentos vinculados para los comandos correspondientes.

Para obtener más información sobre la estructura del archivo de configuración de YAML, visite este sitio.


disableTelemetry - Deshabilitar de telemetría
boolean.

Si se establece en "true", esta tarea de Azure DevOps no recopilará datos de telemetría. Si se establece en "false", o si no se proporciona este argumento, la telemetría se enviará a Microsoft sobre la compilación de la aplicación contenedora e implementará el escenario de destino de esta tarea de Azure DevOps.


Opciones de control de tareas

Todas las tareas tienen opciones de control además de sus entradas de tarea. Para obtener más información, consulte Opciones de control y propiedades de tareas comunes.

Variables de salida

Ninguno.

Observaciones

Esta tarea de Azure Pipelines permite a los usuarios implementar fácilmente su origen de aplicación en una azure Container App en su flujo de trabajo de Azure Pipelines proporcionando una imagen creada previamente, un Dockerfile desde el que se puede compilar una imagen o mediante un generador para crear una imagen de aplicación ejecutable para el usuario.

La tarea tiene los dos patrones de uso siguientes.

  • Insertar una imagen en ACR: al insertar una nueva imagen en ACR, se requieren las entradas de tarea acrName y appSourcePath.
  • Implementación de una imagen previamente insertada: al implementar una imagen previamente insertada, se requiere la entrada de imageToDeploy tarea. Si esta imagen se encuentra en una instancia de ACR que requiere autenticación para extraer, el argumento acrName o los argumentos de acrUsername y acrPassword, se puede proporcionar para autenticar las solicitudes a la instancia de ACR.

Nota

Aunque ninguna entrada de tarea se marca oficialmente como "obligatoria" en los metadatos de esta tarea, es necesario proporcionar algunas entradas para que esta tarea se ejecute correctamente mediante uno de los dos patrones de uso principales.

Si no se encuentra ningún Dockerfile o se proporciona en el origen de la aplicación proporcionado, esta tarea realiza los pasos siguientes:

  • Usa oryx++ Builder para compilar el origen de la aplicación mediante oryx para generar una imagen de aplicación ejecutable
  • Inserta esta imagen de aplicación ejecutable en la instancia de Azure Container Registry proporcionada.
  • Crea o actualiza una aplicación contenedora basada en esta imagen.

Si se encuentra o detecta un Dockerfile en el origen de la aplicación, el generador no se usará y la imagen se compilará con una llamada a docker build y la aplicación contenedora se creará o actualizará en función de esta imagen.

Si ya se ha insertado una imagen compilada previamente en la instancia de ACR y se proporciona a esta tarea, no se requiere ningún origen de aplicación y la imagen se usará al crear o actualizar la aplicación contenedora.

Ejecución de esta tarea en agentes hospedados por Microsoft

Si ejecuta esta tarea en una agente hospedado por Microsoft, es posible que esta tarea no se pueda ejecutarse correctamente con los siguientes sistemas operativos:

  • macOS
    • Los ejecutores macOS proporcionados por Microsoft no se instalan con Docker (más información aquí); Como resultado, esta tarea no puede ejecutar ningún comando docker, como insertar las imágenes de aplicación ejecutables compiladas en ACR.
  • Windows
    • Los ejecutores de Windows proporcionados por Microsoft incluyen Docker instalado, pero de forma predeterminada, las imágenes basadas en Linux no se pueden extraer; Como resultado, esta tarea no puede extraer el generador oryx para crear imágenes de aplicación ejecutables a partir del origen de la aplicación proporcionado.

Consulte la sección siguiente Docker requisitos previos para obtener más información.

Aviso de recopilación de datos o telemetría

De forma predeterminada, esta tarea de Azure DevOps recopila los siguientes datos para Microsoft:

  • Escenario de compilación e implementación de la aplicación contenedora dirigido por el usuario
    • es decir,, usó oryx++ Builder, usó un Dockerfile proporcionado o encontrado, o proporcionó una imagen compilada anteriormente.
    • Nota: el nombre de la imagen no se recopilado
  • Tiempo de procesamiento de la tarea, en milisegundos
  • Resultado de la tarea
    • es decir,, correcto o erróneo
  • Si se usa oryx++ Builder, se usan eventos y métricas relacionados con la compilación de la aplicación proporcionada mediante Oryx.

Si desea deshabilitar la recopilación de datos, establezca el argumento disableTelemetry en true.

Prerrequisitos

Antes de ejecutar esta tarea, los recursos de Azure y una conexión de servicio de Azure DevOps son necesarios o opcionales en función de los argumentos proporcionados a esta tarea.

Conexión del servicio Azure DevOps

Para realizar la implementación en Azure, una suscripción de Azure debe estar vinculada a Team Foundation Server o a Azure Pipelines mediante la pestaña Servicios de la sección configuración. Agregue la suscripción de Azure que se usará en la definición De compilación o Administración de versiones; para ello, abra la pantalla Administración de cuentas (icono de engranaje en la parte superior derecha de la pantalla) y, a continuación, haga clic en la pestaña Servicios.

Cree el punto de conexión de servicio de ARM y use el tipo de punto de conexión de "Azure Resource Manager"; para obtener más información sobre cómo crear conexiones de servicio, siga este documento.

Azure CLI

Esta tarea requiere que la CLI de Azure esté instalada en el agente de Azure Pipelines para ejecutar una variedad de comandos durante la ejecución de la tarea. Para más información sobre cómo instalar la CLI de Azure en el agente, consulte este documento. Si un agente ya se está ejecutando en la máquina en la que está instalada la CLI de Azure, asegúrese de reiniciar el agente para que se actualicen todas las variables de entorno pertinentes.

Estibador

Esta tarea requiere que Docker esté instalado en el agente de Azure Pipelines para insertar imágenes en la instancia de Azure Container Registry proporcionada. Para obtener más información sobre cómo instalar Docker en el agente, consulte este documento.

Además, los usuarios que ejecutan esta tarea con un agente de Windows pueden encontrar un problema con la posibilidad de extraer imágenes basadas en Linux; para resolverlo, busque el archivo DockerCli.exe en el agente (normalmente en la carpeta Program Files\Docker\Docker) y ejecute

& `.\DockerCli.exe` -SwitchDaemon

Si Docker no está instalado en el agente que ejecuta esta tarea, los siguientes escenarios siguen habilitados:

  • Proporcionar un imagen de creada previamente al argumento imageToDeploy que implementa la aplicación contenedora con

Si Docker está en el agente, pero no puede trabajar con imágenes basadas en Linux, los escenarios siguientes siguen habilitados:

  • Proporcionar un imagen de creada previamente al argumento imageToDeploy que implementa la aplicación contenedora con
  • Proporcionar una Dockerfile como parte del origen de la aplicación que se compilará e implementará con la aplicación contenedora
    • Nota: el Dockerfile no puede tener ninguna capa de imagen basada en Linux.

PACK CLI

El proyecto Cloud Native Buildpacks mantiene el de la CLI del paquete de y esta tarea lo usa para crear imágenes de aplicación ejecutables para el usuario cuando se proporciona el código fuente de la aplicación y no se proporciona ni se encuentra ningún Dockerfile adicional. Oryx creó un generador de para tomar el código fuente de la aplicación proporcionado a esta tarea y generar una imagen que, a continuación, se podía insertar en un registro de imágenes y usarse en una aplicación contenedora para compilar y ejecutar la aplicación.

Se instala una versión estable de la CLI del paquete en el agente de Azure Pipelines que ejecuta la tarea y, en función del sistema operativo base de este agente, se aprovecharán diferentes herramientas para ayudar con la instalación:

  • En ejecutores de Windows:
    • Se ejecuta un conjunto de comandos de PowerShell para hacer lo siguiente:
      • Crea una carpeta pack en la carpeta temporal del agente, si la carpeta pack aún no existe.
      • Descarga el .zip de la CLI del paquete en esta carpeta de pack
      • Descomprime el contenido de esta .zip y los coloca en la carpeta pack
      • Elimina el .zip
  • En ejecutores que no son de Windows:
    • curl se usará para extraer el .tgz que contiene el archivo ejecutable de pack
    • tar se usará para descomprimir el .tgz y colocar el archivo ejecutable de pack en /usr/local/bin

Azure Container Registry

Debe existir una azure Container Registry que el usuario pueda insertar imágenes de contenedor. Esta tarea aprovechará Azure Container Registry para insertar una imagen de aplicación ejecutable compilada en e implementar una aplicación contenedora desde .

El nombre de Azure Container Registry es necesario a través del argumento acrName.

El usuario también puede proporcionar valores para los argumentos acrUsername y acrPassword que autenticarán las llamadas a la instancia de Azure Container Registry; si no se proporciona, se generará un token de acceso a través de la CLI de Azure que autenticará las llamadas en su lugar.

Entorno de azure Container App

Se recomienda entorno de Azure Container App que el usuario haya creado previamente para mejorar el rendimiento de la tarea. Si no se ha creado ningún entorno antes o si no se encuentra un entorno en el grupo de recursos que se usa para hospedar la aplicación contenedora creada, se creará un entorno como parte del comando az containerapp up, lo que puede tardar más tiempo.

Ejemplos

En los ejemplos siguientes se describe cómo usar el AzureContainerApps en distintos escenarios.

Mínimo: compilación de la imagen de aplicación para la aplicación contenedora

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

Esto creará una nueva aplicación contenedora denominada ado-task-app-<build-id>-<build-number> en un nuevo grupo de recursos denominado <container-app-name>-rg. La aplicación contenedora se basará en una imagen compilada a partir del appSourcePath proporcionado e insertada en la instancia de ACR proporcionada. Se generará un token de acceso para autenticar la inserción en la instancia de ACR proporcionada.

Mínimo: uso de la imagen publicada anteriormente para la aplicación contenedora

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

Esto creará una nueva aplicación de contenedor denominada ado-task-app-<build-id>-<build-number> en un nuevo grupo de recursos denominado <container-app-name>-rg donde no se compila ninguna imagen nueva, pero se usará una imagen existente denominada mcr.microsoft.com/<existing-image>:latest para la aplicación contenedora.

Mínimo: uso del archivo de configuración de YAML con la imagen publicada anteriormente para la aplicación contenedora

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

Esto creará una nueva aplicación de contenedor denominada ado-task-app-<build-id>-<build-number> en un nuevo grupo de recursos denominado <container-app-name>-rg donde no se compila ninguna imagen nueva, pero se usará una imagen existente denominada mcr.microsoft.com/<existing-image>:latest para la aplicación contenedora. Se extraerán propiedades adicionales sobre la aplicación contenedora del archivo simple-image-container-app.yaml y reemplazarán los valores adicionales que se habrían proporcionado a la tarea como argumentos excluyendo resourceGroup.

El archivo simple-image-container-app.yaml tiene la siguiente estructura:

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

Los valores de SUBSCRIPTION_ID, RESOURCE_GROUP y CONTAINER_APP_ENVIRONMENT deben actualizarse para que apunten al identificador de recurso completo del entorno existente de Container App que usará la aplicación contenedora.

Uso de credenciales de ACR para autenticarse

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)

Esto creará una nueva aplicación contenedora denominada ado-task-app-<build-id>-<build-number> en un nuevo grupo de recursos denominado <container-app-name>-rg. La aplicación contenedora se basará en una imagen compilada a partir del appSourcePath proporcionado e insertada en la instancia de ACR proporcionada. Las credenciales de ACR proporcionadas se usarán para autenticar llamadas a la instancia de ACR.

Nombre de aplicación de contenedor proporcionado

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'

Esto creará una nueva aplicación de contenedor denominada my-test-container-app en un nuevo nombre de grupo de recursos my-test-container-app-rg.

Grupo de recursos proporcionado

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'

Esto creará una nueva aplicación de contenedor denominada ado-task-app-<build-id>-<build-number> en un grupo de recursos denominado my-test-rg. Si el grupo de recursos my-test-rg no existe, se creará como parte de esta tarea.

Nombre de aplicación de contenedor y grupo de recursos proporcionado

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'

Esto creará una nueva aplicación de contenedor denominada my-test-container-app en un grupo de recursos denominado my-test-rg. Si el grupo de recursos my-test-rg no existe, se creará como parte de esta tarea.

Entorno de aplicación de contenedor proporcionado

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'

Esto creará una nueva aplicación contenedora denominada ado-task-app-<build-id>-<build-number> en un nuevo grupo de recursos denominado <container-app-name>-rg con un nuevo entorno de aplicación contenedor denominado my-test-container-app-env.

Pila en tiempo de ejecución proporcionada

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'

Esto creará una nueva aplicación contenedora denominada ado-task-app-<build-id>-<build-number> en un nuevo grupo de recursos denominado <container-app-name>-rg donde la imagen de aplicación ejecutable usa la pila de tiempo de ejecución de .NET 7.

Dockerfile proporcionado

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

Esto creará una nueva aplicación de contenedor denominada ado-task-app-<build-id>-<build-number> en un nuevo grupo de recursos denominado <container-app-name>-rg donde se creó la imagen de aplicación ejecutable a partir del archivo test.Dockerfile que se encuentra en el directorio de ruta de acceso de origen de la aplicación proporcionada.

Nota: para los valores proporcionados a dockerfilePath, no se deben incluir prefijos de archivo (por ejemplo,, ./test.Dockerfile deben pasarse como test.Dockerfile). Los argumentos appSourcePath y dockerfilePath proporcionados se concatenan dentro de la tarea.

Imagen que se va a compilar proporcionada

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'

Esto creará una nueva aplicación contenedora denominada ado-task-app-<build-id>-<build-number> en un nuevo grupo de recursos denominado <container-app-name>-rg donde la imagen compilada e insertada en ACR se denomina mytestacr.azurecr.io/app:latest.

Requisitos

Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
demandas Ninguno
funcionalidades de Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
restricciones de comandos Cualquier
variables settable Cualquier
Versión del agente 2.144.0 o superior
Categoría de tarea Desplegar

Consulte también