AzureContainerApps@0: tarea implementación de Azure Container Apps v0
Una tarea de Azure DevOps para compilar e implementar Azure Container Apps.
Syntax
# Azure Container Apps Deploy v0
# An Azure DevOps Task to build and deploy Azure Container Apps.
- task: AzureContainerApps@0
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 del origen de la aplicación
string
.
Ruta de acceso absoluta en el ejecutor del código de aplicación de origen 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 en la suscripción, por ejemplo, el rol Colaborador.
acrName
- nombre de Azure Container Registry
string
.
Nombre del Azure Container Registry en el 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 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
- contraseña de Azure Container Registry
string
.
Contraseña 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.
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 proporcionada y lo usará para compilar la imagen. De lo contrario, el Generador de Oryx++ se usará para crear la imagen.
imageToBuild
- Imagen de Docker para compilar
string
.
El 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 tendrá el formato de ado-task-app-<build-id>-<build-number>
.
resourceGroup
- Nombre del grupo de recursos de Azure
string
.
El grupo de recursos en el que se creará la aplicación contenedora de Azure (o actualmente existe). Si no se proporciona, este valor tendrá el formato de <container-app-name>-rg
.
containerAppEnvironment
- Entorno de aplicación de contenedor de Azure
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
.
La 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 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 y 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, según el 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 disabled
en , 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 la 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 deberá hacer referencia a la imagen especificada por imageToDeploy
(o imageToBuild
, según su escenario).
Al crear una nueva 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 utilizado; para obtener 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 correspondiente az containerapp
, ya sea create
oupdate
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
yappSourcePath
. - Implementación de una imagen insertada anteriormente : al implementar una imagen insertada anteriormente, se requiere la entrada de la
imageToDeploy
tarea. Si esta imagen se encuentra en una instancia de ACR que requiere autenticación para extraer, elacrName
argumento o losacrUsername
argumentos yacrPassword
, se puede proporcionar para autenticar las solicitudes a la instancia de ACR.
Nota
Aunque no hay ninguna entrada de tarea marcada 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 pattenrs 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.
- 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
- 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
- Nota: no
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 lapack
carpeta aún no existe. - Descarga la CLI
.zip
del paquete en estapack
carpeta - Descomprime el contenido de este
.zip
y los coloca en lapack
carpeta - Elimina el objeto .
.zip
- Crea una
- Se ejecuta un conjunto de comandos de PowerShell para hacer lo siguiente:
- En ejecutores que no son de Windows:
curl
se usará para extraer el.tgz
objeto que contiene elpack
archivo ejecutable.tar
se usará para descomprimir y.tgz
colocar elpack
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@0
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@0
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@0
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_ID
y RESOURCE_GROUP
CONTAINER_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@0
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@0
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-rg
de grupo de recursos .
Grupo de recursos proporcionado
steps:
- task: AzureContainerApps@0
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@0
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@0
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@0
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@0
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@0
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 |