Compartir a través de


AzureWebApp@1 - Azure tarea de la Web App v1

Esta tarea despliega una aplicación web de Azure para Linux o Windows.

Sintaxis

# Azure Web App v1
# Deploy an Azure Web App for Linux or Windows.
- task: AzureWebApp@1
  inputs:
    azureSubscription: # string. Required. Azure subscription. 
    appType: # 'webApp' | 'webAppLinux'. Required. App type. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Optional. Use when appType != "". 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.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #customDeployFolder: # string. Optional. Use when package EndsWith .war. Custom Deploy Folder. 
    #runtimeStack: # 'DOTNETCORE|9.0' | 'DOTNETCORE|8.0' | 'DOTNETCORE|7.0' | 'DOTNETCORE|6.0' | 'NODE|24-lts' | 'NODE|22-lts' | 'NODE|20-lts' | 'NODE|18-lts' | 'NODE|16-lts' | 'PYTHON|3.13' | 'PYTHON|3.12' | 'PYTHON|3.11' | 'PYTHON|3.10' | 'PYTHON|3.9' | 'PYTHON|3.8' | 'PHP|8.3' | 'PHP|8.2' | 'PHP|8.1' | 'PHP|8.0' | 'JAVA|21-java21' | 'JAVA|17-java17' | 'JAVA|11-java11' | 'JAVA|8-jre8' | 'JBOSSEAP|8-java17' | 'JBOSSEAP|8-java11' | 'JBOSSEAP|7-java17' | 'JBOSSEAP|7-java11' | 'JBOSSEAP|7-java8' | 'TOMCAT|10.1-java21' | 'TOMCAT|10.1-java17' | 'TOMCAT|10.1-java11' | 'TOMCAT|10.0-java17' | 'TOMCAT|10.0-java11' | 'TOMCAT|10.0-jre8' | 'TOMCAT|9.0-java21' | 'TOMCAT|9.0-java17' | 'TOMCAT|9.0-java11' | 'TOMCAT|9.0-jre8' | 'TOMCAT|8.5-java11' | 'TOMCAT|8.5-jre8'. Optional. Use when appType = webAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = webAppLinux. Startup command. 
    #siteContainersConfig: # string. Site Containers Config. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != webAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != webAppLinux && appType != "" && package NotEndsWith .war && package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Web App v1
# Deploy an Azure Web App for Linux or Windows.
- task: AzureWebApp@1
  inputs:
    azureSubscription: # string. Required. Azure subscription. 
    appType: # 'webApp' | 'webAppLinux'. Required. App type. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Optional. Use when appType != "". 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.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #customDeployFolder: # string. Optional. Use when package EndsWith .war. Custom Deploy Folder. 
    #runtimeStack: # 'DOTNETCORE|9.0' | 'DOTNETCORE|8.0' | 'DOTNETCORE|7.0' | 'DOTNETCORE|6.0' | 'NODE|22-lts' | 'NODE|20-lts' | 'NODE|18-lts' | 'NODE|16-lts' | 'PYTHON|3.13' | 'PYTHON|3.12' | 'PYTHON|3.11' | 'PYTHON|3.10' | 'PYTHON|3.9' | 'PYTHON|3.8' | 'PHP|8.3' | 'PHP|8.2' | 'PHP|8.1' | 'PHP|8.0' | 'JAVA|21-java21' | 'JAVA|17-java17' | 'JAVA|11-java11' | 'JAVA|8-jre8' | 'JBOSSEAP|8-java17' | 'JBOSSEAP|8-java11' | 'JBOSSEAP|7-java17' | 'JBOSSEAP|7-java11' | 'JBOSSEAP|7-java8' | 'TOMCAT|10.1-java21' | 'TOMCAT|10.1-java17' | 'TOMCAT|10.1-java11' | 'TOMCAT|10.0-java17' | 'TOMCAT|10.0-java11' | 'TOMCAT|10.0-jre8' | 'TOMCAT|9.0-java21' | 'TOMCAT|9.0-java17' | 'TOMCAT|9.0-java11' | 'TOMCAT|9.0-jre8' | 'TOMCAT|8.5-java11' | 'TOMCAT|8.5-jre8'. Optional. Use when appType = webAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = webAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != webAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != webAppLinux && appType != "" && package NotEndsWith .war && package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Web App v1
# Deploy an Azure Web App for Linux or Windows.
- task: AzureWebApp@1
  inputs:
    azureSubscription: # string. Required. Azure subscription. 
    appType: # 'webApp' | 'webAppLinux'. Required. App type. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Optional. Use when appType != "". 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.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #customDeployFolder: # string. Optional. Use when package EndsWith .war. Custom Deploy Folder. 
    #runtimeStack: # string. Optional. Use when appType = webAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = webAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != webAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != webAppLinux && appType != "" && package NotEndsWith .war && package NotEndsWith .jar. Deployment method. Default: auto.

Entradas

azureSubscription - Azure suscripción
. Obligatorio.

Especifica la conexión de suscripción Azure Resource Manager para el despliegue.


tipo de aplicación
. Obligatorio. Valores permitidos: webApp (aplicación web en Windows), webAppLinux (aplicación web en Linux).

Especifica el tipo de aplicación web de Azure.


de nombre de aplicación de
. Obligatorio.

Especifica el nombre de un Azure App Service existente. Solo se mostrarán los servicios de aplicaciones basados en el tipo de aplicación seleccionado.


deployToSlotOrASE - Despliega en la ranura o App Service Environment
. Opcional. Use cuando . Valor predeterminado: .

Selecciona la opción de desplegar en una ranura de despliegue existente o en un Azure App Service Environment.
Para ambos destinos, la tarea necesita un nombre de grupo de recursos.
Si el destino de implementación es una ranura, el valor predeterminado es el espacio de producción. También se puede proporcionar cualquier otro nombre de ranura existente.
Si el destino de despliegue es un Azure App Service Environment, deja el nombre de la ranura como 'production' y especifica el nombre del grupo de recursos.


del grupo de recursos de
. Obligatorio cuando .

El nombre del grupo de recursos es necesario cuando el destino de despliegue es una ranura de despliegue o un Azure App Service Environment.
Especifica el grupo de recursos de Azure que contiene el Azure App Service indicado anteriormente.


de ranura de
. Obligatorio cuando . Valor predeterminado: .

Especifica una ranura existente, excepto la ranura de producción.


paquete o carpeta
. Obligatorio. Valor predeterminado: .

Ruta de acceso del archivo al paquete o carpeta que contiene el contenido de App Service generado por MSBuild, un archivo ZIP comprimido o un archivo war. Se admiten variables (versión de compilación) y comodines. Por ejemplo, o .


de carpeta de implementación personalizada
. Opcional. Use cuando .

Especifica el nombre de carpeta personalizado en el que desea implementar.
Si el campo está vacío, el paquete se implementa en .
Si se especifica ROOT, el paquete se implementa en .
En todas las demás instancias, se implementa en .


de pila en tiempo de ejecución de
. Opcional. Use cuando . Valores permitidos: DOTNETCORE|9.0 (.NET 9,00 0), DOTNETCORE|8.0 (.NET 8.0), DOTNETCORE|7.0 (.NET 7.0), DOTNETCORE|6.0 (.NET 6.0), NODE|24-lts (Nodo 24 LTS), NODE|22-lts (Nodo 22 LTS), NODE|20-lts (Nodo 20 LTS), NODE|18-lts (Nodo 18 LTS), NODE|16-lts (Nodo 16 LTS), PYTHON|3.13 (Python 3.13), PYTHON|3.12 (Python 3.12), PYTHON|3.11 (Python 3.. 11), PYTHON|3.10 (Python 3.10), PYTHON|3.9 (Python 3.9), PYTHON|3.8 (Python 3.8), PHP|8.3 (PHP 8.3), PHP|8.2 (PHP 8.2), PHP|8.1 (PHP 8.1), PHP|8.0 (PHP 8.0), JAVA|21-java21 (Java 21), JAVA|17-java17 (Java 17), JAVA|11-java11 (Java 11), JAVA|8-jre8 ( Java 8), JBOSSEAP|8-java17 (JBoss EAP 8 (Java 17)), JBOSSEAP|8-java11 (JBoss EAP 8 (Java 11)), JBOSSEAP|7-java17 (JBoss EAP 7 (Java 17)), JBOSSEAP|7-java11 (JBoss EAP 7 (Java 11)), JBOSSEAP|7-java8 (JBoss EAP 7 (Java 8)), TOMCAT|10.1-java21 (Tomcat 10.1 (Java 21)), TOMCAT|10.1-java17 (Tomcat 10.1 (Java 17)), TOMCAT|10.1-java11 (Tomcat 10.1 (Java 11)), TOMCAT|10.0-java17 (Tomcat 10.0 (Java 17)), TOMCAT|10.0-java11 (Tomcat 10.0 (Java 11)), TOMCAT|10.0-jre8 (Tomcat 10.0 (Java 8)), TOMCAT|9.0-java21 (Tomcat 9.0 (Java 21)), TOMCAT|9.0-java17 (Tomcat 9.0 (Java 17)), TOMCAT|9.0-java11 (Tomcat 9.0 (Java 11)), TOMCAT|9.0-jre8 (Tomcat 9.0 ( Java 8)), TOMCAT|8.5-java11 (Tomcat 8.5 (Java 11)), TOMCAT|8.5-jre8 (Tomcat 8.5 (Java 8)).

Web App en Linux ofrece dos opciones diferentes para publicar la aplicación: implementación de imágenes personalizadas (Web App for Containers) e implementación de aplicaciones con una imagen de plataforma integrada (Web App en Linux). Este parámetro solo está disponible cuando se selecciona De aplicación web Linux como un tipo de aplicación en la tarea.


de pila en tiempo de ejecución de
. Opcional. Use cuando . Valores permitidos: DOTNETCORE|9.0 (.NET 9.0), DOTNETCORE|8.0 (.NET 8.0), DOTNETCORE|7.0 (.NET 7.0), DOTNETCORE|6.0 (.NET 6.0), NODE|22-lts (Nodo 22 LTS), NODE|20-lts (Nodo 20 LTS), NODE|18-lts (Nodo 18 LTS), NODE|16-lts (Nodo 16 LTS), PYTHON|3.13 (Python 3.13), PYTHON|3.12 (Python 3.12), PYTHON|3.11 (Python 3.11), PYTHON|3.10 (Python 3.10), PYTHON|3.9 (Python 3.9), PYTHON|3.8 (Python 3.8), PHP|8.3 (PHP 8.3), PHP|8.2 (PHP 8.2), PHP|8.1 (PHP 8.1), PHP|8.0 (PHP 8.0), JAVA|21-java21 (Java 21), JAVA|17-java17 (Java 17), JAVA|11-java11 (Java 11), JAVA|8-jre8 (Java 8), JBOSSEAP|8-java17 (JBoss EAP 8 (Java 17)), JBOSSEAP|8-java11 (JBoss EAP 8 (Java 11)), JBOSSEAP|7-java17 (JBoss EAP 7 (Java 17)), JBOSSEAP|7-java11 (JBoss EAP 7 (Java 11)), JBOSSEAP|7-java8 (JBoss EAP 7 (Java 8)), TOMCAT|10.1-java21 (Tomcat 10.) 1 (Java 21)), TOMCAT|10.1-java17 (Tomcat 10.1 (Java 17)), TOMCAT|10.1-java11 (Tomcat 10.1 ( Java 11)), TOMCAT|10.0-java17 (Tomcat 10.0 (Java 17)), TOMCAT|10.0-java11 (Tomcat 10.0 (Java 11)), TOMCAT|10.0-jre8 (Tomcat 10.0 (Java 8)), TOMCAT|9.0-java21 (Tomcat 9.0 (Java 21)), TOMCAT|9.0-java17 (Tomcat 9.0 (Java 17)), TOMCAT|9.0-java11 (Tomcat 9.0 (Java 11)), TOMCAT|9.0-jre8 (Tomcat 9.0 (Java 8)), TOMCAT|8.5-java11 (Tomcat 8.5 (Java 11)), TOMCAT|8.5-jre8 (Tomcat 8.5 (Java 8)).

Web App en Linux ofrece dos opciones diferentes para publicar la aplicación: implementación de imágenes personalizadas (Web App for Containers) e implementación de aplicaciones con una imagen de plataforma integrada (Web App en Linux). Este parámetro solo está disponible cuando se selecciona De aplicación web Linux como un tipo de aplicación en la tarea.


de pila en tiempo de ejecución de
. Opcional. Use cuando .

Web App en Linux ofrece dos opciones diferentes para publicar la aplicación: implementación de imágenes personalizadas (Web App for Containers) e implementación de aplicaciones con una imagen de plataforma integrada (Web App en Linux). Este parámetro solo está disponible cuando se selecciona De aplicación web Linux como un tipo de aplicación en la tarea.


comando Startup
. Opcional. Use cuando .

Especifica el comando de inicio.
Por ejemplo:
dotnet run
dotnet filename.dll.


customWebConfig - Genera web.config parámetros para Python, Node.js, Go y Java apps
. Opcional. Use cuando .

Se generará un web.config estándar y se desplegará en Azure App Service si la aplicación no tiene uno. Los valores de web.config varían en función del marco de trabajo de la aplicación y se pueden editar. Por ejemplo, para la aplicación node.js, web.config tendrá un archivo de inicio y iis_node valores de módulo. Esta característica de edición solo es para el generado web.config.


de configuración de la aplicación de
.

Especifique la configuración de la aplicación web con la sintaxis (por ejemplo: ). Incluya valores que contengan espacios entre comillas dobles (por ejemplo: ).


opciones de configuración
.

Especifique las opciones de configuración de la aplicación web con la sintaxis (por ejemplo: ). Incluya valores que contengan espacios entre comillas dobles.


de método de implementación de
. Obligatorio cuando . Valores permitidos: (detección automática), (Zip Deploy), (Ejecutar desde paquete). Valor predeterminado: .

Elija el del método de implementación de para la aplicación. Los valores aceptables son auto, zipDeployy runFromPackage.


Configuración de contenedores de sitio
.

Proporcione siteContainers-config JSON para implementaciones de SiteContainers.


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

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

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

Observaciones

Utiliza esta tarea para desplegar aplicaciones web en Azure App Service.

Métodos de implementación

Hay varios métodos de implementación disponibles en esta tarea. es la opción predeterminada.

Para cambiar la opción de implementación basada en paquetes en la tarea del diseñador, expanda Opciones de implementación adicionales y habilite Seleccionar método de implementación.

En función del tipo de Azure App Service y Azure Pipelines agent, la tarea elige una tecnología de despliegue adecuada. Las distintas tecnologías de implementación usadas por la tarea son:

  • API rest de Kudu
  • Implementación de Zip
  • RunFromPackage

De forma predeterminada, la tarea intenta seleccionar la tecnología de implementación adecuada según el paquete de entrada, el tipo de servicio de aplicaciones y el sistema operativo del agente.

  • Cuando el tipo de servicio de aplicaciones sea Aplicación web en la aplicación Linux, use Zip Deploy
  • Si se proporciona un archivo War, use War Deploy
  • Si se proporciona un archivo Jar, use Ejecutar desde el paquete
  • Para todos los demás, use ejecutar desde zip (a través de Zip Deploy)

En un agente no Windows (para cualquier tipo de servicio de aplicación), la tarea depende de Kudu REST APIs para desplegar la aplicación web.

API rest de Kudu

Kudu funcionan en agentes de automatización Windows o Linux cuando el objetivo es Web App en Windows, Web App en Linux (código fuente integrado) o Function App. La tarea utiliza Kudu para copiar archivos al Azure App Service.

Implementación de Zip

Crea un paquete de implementación .zip del paquete o carpeta elegido. El contenido del archivo se despliega entonces en la carpeta wwwroot de la aplicación de funciones en Azure App Service. Esta opción sobrescribe todo el contenido existente en la carpeta wwwroot. Para más información, consulte el despliegue Zip para Azure Functions.

RunFromPackage

Crea el mismo paquete de implementación que Zip Deploy. Sin embargo, en lugar de desplegar archivos en la carpeta wwwroot, todo el paquete se monta en el runtime de Azure Functions. Con esta opción, los archivos de la carpeta wwwroot se convierten en de solo lectura. Para más información, consulta Ejecuta tu Azure Functions desde un archivo de paquete.

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

La tarea utiliza el principal de servicio en la conexión de servicio para autenticarse con Azure. Si la entidad de servicio ha expirado o no tiene permisos para App Service, se produce un error en la tarea. Compruebe la validez de la entidad de servicio usada y que esté presente en el registro de la aplicación. Para más información, consulta Utiliza el control de acceso basado en roles para gestionar el acceso a tus recursos de suscripción Azure. Esta entrada de blog también contiene más información sobre el uso de la autenticación de entidad de servicio.

Error 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 proporciona errores de validación de certificados, probablemente esté usando un certificado autofirmado. Establezca una variable denominada en el valor en la canalización de compilación o versión para resolver el error.

Una versión se bloquea durante mucho tiempo y, a continuación, 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 la CPU, la RAM y el espacio en disco disponibles o probar con un plan de App Service diferente.

5 códigos de error xxxx

Si ves un error 5xx, revisa el estado de tu servicio de Azure.

La función Azure dejó de funcionar de repente

Azure Functions puede dejar de funcionar repentinamente si ha pasado más de un año desde la última implantació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 utiliza este SAS para referenciar el archivo de paquete para la ejecución de funciones, así que si el 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.

Error: No se encontró ningún paquete con el patrón especificado

Compruebe si el paquete mencionado en la tarea se publica como un artefacto en la compilación o una fase anterior y se descarga en el trabajo actual.

Error: No se admite publicar con la opción de implementación zip para el tipo de paquete msBuild.

Los paquetes web creados a través de la tarea de MSBuild (con argumentos predeterminados) tienen una estructura de carpetas anidada que solo se puede implementar correctamente mediante Web Deploy. La opción de implementación publicar en zip no se puede usar para implementar esos paquetes. Para convertir la estructura de empaquetado, siga estos pasos:

  1. En la tarea Compilar solución, cambie el argumentos de MSBuild a :

    Captura de pantalla que muestra los valores de la solución de compilación.

  2. Agregue una tarea Archivar y cambie los valores de la siguiente manera:

    1. Cambie carpeta raíz o archivo para archivar a .

    2. Desactive la casilla Nombre de carpeta raíz anteponer para archivar rutas de acceso:

      Captura de pantalla que muestra los valores de archivo.

Preguntas más frecuentes

¿Cuál es la diferencia entre las tareas de y ?

La tarea Azure Web App (AzureWebApp) es la forma más sencilla de desplegar en una Azure Web App. Por defecto, tu despliegue se realiza en la aplicación raíz en la aplicación web de Azure.

La tarea de despliegue Azure App Service (AzureRmWebAppDeployment) puede gestionar escenarios más personalizados, como:

  • Modificar las opciones de configuración dentro de paquetes web y archivos de parámetros XML.
  • Implementar con Web Deploy, si se usa para el proceso de implementación de IIS.
  • Implementación en aplicaciones virtuales.
  • Implemente en otros tipos de aplicaciones, como aplicaciones de contenedor, aplicaciones de funciones, WebJobs o API y aplicaciones móviles.

Nota

Las transformaciones de archivo y la sustitución de variables también son compatibles con la tarea separada Transformación de Archivo para su uso en Azure Pipelines. Puede usar la tarea Transformación de archivos para aplicar transformaciones de archivo y sustituciones de variables en cualquier archivo de configuración y parámetros.

El despliegue de aplicaciones web en Windows tiene éxito, pero la aplicación no funciona

Esto puede deberse a que web.config no está presente en la aplicación. Puede agregar un archivo de web.config al origen o generar uno automáticamente mediante configuración y la aplicación.

  • Haz clic en la tarea y ve a Generar web.config parámetros para Python, Node.js, Go y Java apps.

    Captura de pantalla del cuadro de diálogo Generar parámetros de web.config.

  • Haga clic en el botón más para editar los parámetros.

    Captura de pantalla del cuadro de diálogo desplegable.

  • Seleccione el tipo de aplicación en la lista desplegable.

  • Haga clic en Aceptar. Esto rellenará los parámetros de web.config necesarios para generar web.config.

El despliegue de aplicaciones web en App Service Environment (ASE) no funciona

  • Asegúrate de que el agente de compilación de Azure DevOps esté en la misma VNET (la subred puede ser diferente) que el Internal Load Balancer (ILB) de ASE. Esto permitirá al agente extraer código de Azure DevOps y desplegarlo en ASE.
  • Si usas Azure DevOps, el agente no necesita ser accesible desde internet, sino que solo necesita acceso saliente para conectarse a Azure DevOps Service.
  • Si usas TFS/Azure DevOps Server desplegado en una Virtual Network, el agente puede estar completamente aislado.
  • El agente de compilación debe configurarse con la configuración DNS de la aplicación web en la que debe implementarse. Los recursos privados en Virtual Network no tienen entradas en Azure DNS, así que esto debe añadirse al archivo del host en la máquina agente.
  • Si se usa un certificado autofirmado para la configuración de ASE, la opción debe establecerse en la tarea de implementación para MSDeploy. También se recomienda establecer la variable en . Si se usa un certificado de una entidad de certificación para la configuración de ASE, no debe ser necesario.

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

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

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

Al implementar en una instancia de App Service, si ha configurado Application Insights y ha habilitado , también debe habilitar . 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 se instala en la carpeta App_Data.

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

Si el agente autohospedado requiere un proxy web, puede informar al agente sobre el proxy durante la configuración. Hacerlo permite que tu agente se conecte 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

A continuación, un ejemplo de fragmento YAML para desplegar una aplicación web en el Servicio de Aplicaciones Web de Azure que se ejecuta en Windows.

variables:
  azureSubscription: Contoso
  # To ignore SSL error uncomment the below variable
  # VSTS_ARM_REST_IGNORE_SSL_ERRORS: true

steps:

- task: AzureWebApp@1
  displayName: Azure Web App Deploy
  inputs:
    azureSubscription: $(azureSubscription)
    appName: samplewebapp
    package: $(System.DefaultWorkingDirectory)/**/*.zip

Para implementar Web App en Linux, agregue el parámetro y establézcalo en .

Para especificar el método de implementación como Zip Deploy, agregue el parámetro . Otro valor admitido para este parámetro es .

Si no se especifica, es el valor predeterminado.

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.209.0 o superior
Categoría de tarea Desplegar
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.104.1 o superior
Categoría de tarea Desplegar