Compartir vía


AzureFunctionAppContainer@1: Azure Functions para la tarea contenedor v1

Actualice una aplicación de funciones con un contenedor de Docker.

Actualice Function Apps con contenedores de Docker.

Sintaxis

# Azure Functions for container v1
# Update a function app with a Docker container.
- task: AzureFunctionAppContainer@1
  inputs:
    azureSubscription: # string. Required. Azure subscription. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    imageName: # string. Required. Image name. 
    #containerCommand: # string. Startup command. 
  # Application and Configuration Settings
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings.
# Azure Function for container v1
# Update Function Apps with Docker containers.
- task: AzureFunctionAppContainer@1
  inputs:
    azureSubscription: # string. Required. Azure subscription. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    imageName: # string. Required. Image name. 
    #containerCommand: # string. Startup command. 
  # Application and Configuration Settings
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings.

Entradas

azureSubscription - Suscripción de Azure
string. Obligatorio.

Selecciona la suscripción de Azure Resource Manager para la implementación.


appName - Nombre de la aplicación
string. Obligatorio.

Nombre de function App for Containers.


deployToSlotOrASE - Implementación en ranura o App Service Environment
boolean. Valor predeterminado: false.

Establezca esta entrada en true para implementarla en una ranura de implementación existente o en un entorno de Azure App Service. La tarea necesita un nombre de grupo de recursos para ambos destinos. Para la opción de ranura de implementación, el valor predeterminado se implementa en la ranura de producción o puede especificar cualquier otro nombre de ranura existente. Si el destino de implementación es un entorno de Azure App Service, deje el nombre de la ranura como producción y especifique el nombre del grupo de recursos.


resourceGroupName - Grupo de recursos
string. Necesario cuando deployToSlotOrASE = true.

Nombre del grupo de recursos que contiene la aplicación de funciones para contenedores.


slotName - Ranura
string. Necesario cuando deployToSlotOrASE = true. Valor predeterminado: production.

Escribe o selecciona una ranura existente, excepto la ranura de producción .


imageName - Nombre de la imagen
string. Obligatorio.

Un nombre de dominio de nivel superior único global para su registro o espacio de nombres específico.

Nota: Un nombre de imagen completo tendrá el formato : <registry or namespace> <repository> <tag>. Por ejemplo, myregistry.azurecr.io/nginx:latest.


containerCommand - Comando de inicio
string.

Comando de inicio que se ejecuta después de la implementación. Por ejemplo, dotnet rundotnet filename.dll.


appSettings - Configuración de la aplicación
string.

Escriba la configuración de la aplicación con la sintaxis -key value (por ejemplo:-RequestTimeout 5000-Port 5000-WEBSITE_TIME_ZONE ). Incluya valores que contengan espacios entre comillas dobles (por ejemplo: "Eastern Standard Time").


configurationStrings - Configuración
string.

Escriba las cadenas de configuración mediante la sintaxis -key value (por ejemplo: -phpVersion 5.6-linuxFxVersion: node|6.11). Incluya valores que contengan espacios entre comillas dobles.


Opciones de control de tareas

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

Variables de salida

Esta tarea define las siguientes variables de salida, que puede consumir en pasos, trabajos y fases de bajada.

AppServiceApplicationUrl
Dirección URL de la aplicación del App Service seleccionado.

Comentarios

Use esta tarea para implementar una función de Azure en Linux mediante una imagen personalizada.

Error: No se pudo recuperar el token de acceso para Azure. Compruebe si la entidad de servicio usada es válida y no ha expirado.

La tarea usa la entidad de servicio en la conexión de servicio para autenticarse con Azure. Si la entidad de servicio ha expirado o no tiene permisos para el App Service, se produce un error en la tarea. Compruebe la validez de la entidad de servicio usada y que se encuentra en el registro de la aplicación. Para más información, consulte Uso del control de acceso basado en rol para administrar el acceso a los recursos de la suscripción de Azure. Esta entrada de blog también contiene más información sobre el uso de la autenticación de entidad de servicio.

Error de SSL

Si desea usar un certificado en App Service, el certificado debe estar firmado por una entidad de certificación de confianza. Si la aplicación web genera errores de validación del certificado, probablemente se esté usando un certificado autofirmado. Establezca una variable denominada VSTS_ARM_REST_IGNORE_SSL_ERRORS en el valor true de la canalización de compilación o versión para resolver el error.

Una versión se bloquea durante mucho tiempo y luego se produce un error.

Este problema podría ser el resultado de una capacidad insuficiente en el plan de App Service. Para resolver este problema, puede escalar verticalmente la instancia de App Service para aumentar el espacio disponible de CPU, RAM y disco o probar con un plan de App Service diferente.

Códigos de error 5xx

Si ve un error 5xx , compruebe el estado del servicio de Azure.

La función de Azure de repente dejó de funcionar

Azure Functions puede dejar de funcionar de repente si ha pasado más de un año desde la última implementación. Si implementa con "RunFromPackage" en "deploymentMethod", se genera una SAS con una fecha de expiración de 1 año y se establece como el valor de "WEBSITE_RUN_FROM_PACKAGE" en la configuración de la aplicación. Azure Functions usa esta SAS para hacer referencia al archivo de paquete para la ejecución de la función, por lo que si la SAS ha expirado, la función no se ejecutará. Para resolver este problema, vuelva a implementar para generar una SAS con una fecha de expiración de un año.

¿Cómo debo configurar mi conexión de servicio?

Esta tarea requiere una conexión de servicio de Azure Resource Manager.

¿Cómo debo configurar la implementación de trabajos web con Application Insights?

Al implementar en una App Service, si tiene Application Insights configurado y ha habilitado Remove additional files at destination, también debe habilitar Exclude files from the App_Data folder. Al habilitar esta opción, la extensión de Application Insights se mantiene en un estado seguro. Este paso es necesario porque el Trabajo web continuo de Application Insights está instalado en la carpeta App_Data.

¿Cómo debo configurar mi agente si está detrás de un proxy mientras se implementa en App Service?

Si el agente autohospedado requiere un proxy web, puede informar al agente sobre el proxy durante la configuración. Esto permite al agente conectarse a Azure Pipelines o Azure DevOps Server a través del proxy. Obtenga más información sobre cómo ejecutar un agente autohospedado detrás de un proxy web.

Ejemplos

En este ejemplo se implementa Azure Functions en Linux mediante contenedores:


variables:
  imageName: contoso.azurecr.io/azurefunctions-containers:$(build.buildId)
  azureSubscription: Contoso
  # To ignore SSL error uncomment the following variable
  # VSTS_ARM_REST_IGNORE_SSL_ERRORS: true

steps:
- task: AzureFunctionAppContainer@1
  displayName: Azure Function App on Container deploy
  inputs:
    azureSubscription: $(azureSubscription)
    appName: functionappcontainers
    imageName: $(imageName)

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.104.1 o superior
Categoría de la tarea: Implementación