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

Una tarea de Azure DevOps para compilar e implementar 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 - Directorio de trabajo
Alias de entrada: cwd. string.

Directorio de trabajo actual donde se ejecuta el script. Si está vacío, es la raíz del repositorio (compilación) o de los artefactos (versión), 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 - 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 dentro de la suscripción, por ejemplo, el rol Colaborador.


acrName - nombre de Azure Container Registry
string.

Nombre de la Azure Container Registry en la 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 - nombre de usuario de Azure Container Registry
string.

Nombre de usuario 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.


acrPassword - contraseña de Azure Container Registry
string.

Contraseña usada 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 ejemplos siguientes) 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 la 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 que se va a 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 que se va a implementar
string.

El 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 acrName argumento o los acrUsername argumentos y acrPassword , se puede proporcionar para autenticar las solicitudes a la instancia de ACR.


containerAppName - 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 actualmente existe). 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 .<container-app-name>-env


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

Pila de versiones de la plataforma usada 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 de tiempo de ejecución compatibles para Oryx.


targetPort - 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 de la aplicación contenedora
string.

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


environmentVariables - Variables de entorno
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 external en (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 será visible desde dentro del entorno de la aplicación. Si se establece disableden , 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 el agente de Azure Pipelines en ejecución) al archivo YAML que detalla la configuración de la aplicación contenedora.

La resourceGroup propiedad del archivo de configuración YAML no se usará; el valor de esto procede del resourceGroup argumento 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 containerAppName argumento se proporciona a la tarea y la name propiedad se establece en el archivo de configuración de YAML, la name propiedad del archivo YAML se usará al crear o actualizar la aplicación contenedora.

Los argumentos de origen de la imagen y de la aplicación (por ejemplo, appSourcePath, imageToDeploy) se seguirán usando para compilar primero o insertar 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, dependiendo de su escenario).

Al crear una nueva aplicación de contenedor, todas las propiedades enumeradas en el archivo de configuración de YAML (excepto resourceGroup lo mencionado anteriormente) se establecerán cuando se cree la aplicación contenedora. Al actualizar una aplicación de contenedor 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 más información sobre este problema, consulte este problema de GitHub.

En los casos en los que se proporciona el yamlConfigPath argumento , el archivo YAML se pasará al comando correspondienteaz containerapp, ya sea o .createupdate dependiendo 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 - Deshabilitación de la 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 las entradas de tareas. Para obtener más información, vea Opciones de control y propiedades de tareas comunes.

Variables de salida

Ninguno.

Comentarios

Esta tarea de Azure Pipelines permite a los usuarios implementar fácilmente su origen de aplicación en una aplicación contenedora de Azure en su flujo de trabajo de Azure Pipelines proporcionando una imagen compilada 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.

  • Inserción de 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 la imageToDeploy tarea. Si esta imagen se encuentra en una instancia de ACR que requiere autenticación para extraer, el acrName argumento o los acrUsername argumentos 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 con uno de los dos pattenres 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 el Azure Container Registry proporcionado
  • 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 anteriormente 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 un agente hospedado por Microsoft, es posible que esta tarea no se pueda ejecutar correctamente con los siguientes sistemas operativos:

  • macOS
    • Los ejecutores de macOS proporcionados por Microsoft no vienen instalados con Docker (más información aquí); Como resultado, esta tarea no puede ejecutar ningún docker comando, como insertar las imágenes de aplicación ejecutables compiladas en ACR.
  • Windows
    • Los ejecutores de Windows proporcionados por Microsoft vienen con 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 de Oryx para crear imágenes de aplicación ejecutables a partir del origen de la aplicación proporcionado.

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

Aviso de recopilación de datos y 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 recopila
  • 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 disableTelemetry argumento en true.

Requisitos previos

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 Release Management abriendo 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 "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 a lo largo de 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.

Docker

Esta tarea requiere que Docker esté instalado en el agente de Azure Pipelines para insertar imágenes en el Azure Container Registry proporcionado. 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 al no poder extraer imágenes basadas en Linux; para resolverlo, visite este sitio o busque el archivo en el DockerCli.exe agente (normalmente en la Program Files\Docker\Docker carpeta) y ejecute .

& `.\DockerCli.exe` -SwitchDaemon

Si Docker no está instalado en el agente que ejecuta esta tarea, se seguirán habilitando los siguientes escenarios:

  • Proporcionar una imagen compilada previamente al imageToDeploy argumento con el que se implementa la aplicación contenedora

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

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

Pack CLI

El proyecto Cloud Native Buildpacks mantiene la CLI del paquete y esta tarea la 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 para tomar el código fuente de la aplicación proporcionado a esta tarea y generar una imagen que se podría insertar en un registro de imágenes y usarse dentro de 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, según el sistema operativo base de este agente, se aprovecharán diferentes herramientas para ayudar con la instalación:

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

Azure Container Registry

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

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

El usuario también puede proporcionar valores para los acrUsername argumentos 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 aplicación de contenedor de Azure

Se recomienda que el usuario haya creado previamente un entorno de aplicación contenedor de Azure 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 az containerapp up comando , lo que puede tardar más tiempo.

Ejemplos

En los ejemplos siguientes se describe cómo usar en AzureContainerApps diferentes 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 que se creó a partir del proporcionado appSourcePath e insertado 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/azuredocs/containerapps-helloworld: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 no se compila ninguna nueva imagen, pero se usará una imagen existente denominada mcr.microsoft.com/azuredocs/containerapps-helloworld:latest para la aplicación contenedora.

Mínimo: uso del archivo de configuración YAML con una 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 contenedora denominada ado-task-app-<build-id>-<build-number> en un nuevo grupo de recursos denominado <container-app-name>-rg donde no se compila ninguna nueva imagen, pero se usará una imagen existente denominada mcr.microsoft.com/azuredocs/containerapps-helloworld:latest para la aplicación contenedora. Se extraerán propiedades adicionales sobre la aplicación contenedora del simple-image-container-app.yaml archivo y reemplazarán los valores adicionales que se habrían proporcionado a la tarea como argumentos , excepto resourceGroup.

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

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

Los valores de SUBSCRIPTION_IDy RESOURCE_GROUPCONTAINER_APP_ENVIRONMENT se deben actualizar para que apunten al identificador de recurso completo del entorno de aplicación contenedor existente 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 que se creó a partir del proporcionado appSourcePath e insertado en la instancia de ACR proporcionada. Las credenciales de ACR proporcionadas se usarán para autenticar las 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 contenedora denominada my-test-container-app en un nuevo nombre my-test-container-app-rgde grupo de recursos .

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 contenedora denominada ado-task-app-<build-id>-<build-number> en un grupo de recursos denominado my-test-rg. Si el my-test-rg grupo de recursos 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 contenedora denominada my-test-container-app en un grupo de recursos denominado my-test-rg. Si el my-test-rg grupo de recursos 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 en 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 contenedora 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 test.Dockerfile archivo 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 debe incluir ningún prefijo de archivo (por ejemplo, ./test.Dockerfile debe pasarse como solo test.Dockerfile). Los argumentos y dockerfilePath proporcionados appSourcePath 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
Peticiones None
Capabilities Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
Restricciones de comandos Any
Variables que se pueden establecer Any
Versión del agente 2.144.0 o superior
Categoría de la tarea: Implementar

Consulte también