Referencia del esquema del manifiesto de despliegue - AWS Elastic Beanstalk

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Referencia del esquema del manifiesto de despliegue

El manifiesto de implementación es un archivo JSON que define cómo Elastic Beanstalk debe implementar y configurar las aplicaciones de Windows. En esta sección se proporciona una referencia completa de todas las propiedades y opciones de configuración compatibles en el esquema del manifiesto.

Estructura del manifiesto

El manifiesto de despliegue sigue un esquema JSON específico con la siguiente estructura de nivel superior:

ejemplo Estructura básica del manifiesto
{ "manifestVersion": 1, "skipIISReset": false, "iisConfig": { "appPools": [...] }, "deployments": { "msDeploy": [...], "aspNetCoreWeb": [...], "custom": [...] } }

Propiedades de nivel superior

manifestVersion (obligatorio)

Tipo: Número

Valor predeterminado: 1

Valores válidos: 1

Especifica la versión del esquema del manifiesto. Actualmente, solo se admite la versión 1.

skipIISReset (opcional)

Tipo: Booleano

Valor predeterminado: falso

Controla si IIS se restablece durante la implementación de aplicaciones. Este indicador afecta tanto a los tipos de implementación como a msDeploy los tipos aspNetCoreWeb de implementación.

Comportamiento:

  • No especificado o false (predeterminado): los restablecimientos de IIS se realizan durante las operaciones de instalación, desinstalación y actualización. Este es el comportamiento tradicional.

  • true: Los restablecimientos de IIS se omiten durante las operaciones de despliegue.

Ventajas:

  • Menor tiempo de inactividad: las aplicaciones experimentan interrupciones de servicio más breves durante las implementaciones.

  • Implementaciones más rápidas: elimina el tiempo necesario para que IIS se reinicie y reinicie por completo.

nota

Cuando se utilizaskipIISReset, la RestartAppServeroperación restablece el IIS independientemente de la configuración de este indicador.

Ejemplo:

{ "manifestVersion": 1, "skipIISReset": true, "deployments": { "aspNetCoreWeb": [ { "name": "my-dotnet-core-app", "parameters": { "archive": "dotnet-core-app.zip", "iisPath": "/" } } ] } }
deployments (obligatorio)

Tipo: objeto

Contiene las configuraciones de despliegue de sus aplicaciones. Este objeto puede incluir msDeployaspNetCoreWeb, y tipos custom de despliegue.

iisConfig (opcional)

Tipo: objeto

Define las opciones de configuración de IIS que se deben aplicar antes de implementar las aplicaciones. Actualmente admite la configuración de grupos de aplicaciones.

Configuración de IIS

Esta iisConfig sección le permite configurar los ajustes de IIS antes de implementar las aplicaciones. Esto resulta especialmente útil para configurar grupos de aplicaciones con configuraciones específicas.

Grupos de aplicaciones

Los grupos de aplicaciones proporcionan aislamiento entre las aplicaciones y permiten configurar los ajustes de tiempo de ejecución para grupos de aplicaciones.

ejemplo Configuración del grupo de aplicaciones
{ "iisConfig": { "appPools": [ { "name": "MyAppPool", "enable32Bit": false, "managedPipelineMode": "Integrated", "managedRuntimeVersion": "v4.0", "queueLength": 1000, "cpu": { "limitPercentage": 80, "limitAction": "Throttle", "limitMonitoringInterval": 5 }, "recycling": { "regularTimeInterval": 1440, "requestLimit": 10000, "memory": 1048576, "privateMemory": 524288 } } ] } }
Propiedades del grupo de aplicaciones
name (obligatorio)

Tipo: cadena

El nombre del grupo de aplicaciones. Este nombre se usa para hacer referencia al grupo en las configuraciones de implementación.

enable32Bit (opcional)

Tipo: Booleano

Permite que una aplicación de 32 bits se ejecute en una versión de 64 bits de Windows. Se configura en true para aplicaciones antiguas que requieren compatibilidad de 32 bits.

managedPipelineMode (opcional)

Tipo: cadena

Valores válidos: «Integrado», «Clásico»

Especifica el modo de procesamiento de solicitudes para el grupo de aplicaciones.

managedRuntimeVersion (opcional)

Tipo: cadena

Valores válidos: «Sin código administrado», «v2.0", «v4.0"

Especifica la versión de.NET Framework para el grupo de aplicaciones.

queueLength (opcional)

Tipo: entero

Número máximo de solicitudes que HTTP.sys pone en cola para el grupo de aplicaciones antes de rechazar solicitudes adicionales.

Configuración de la CPU

El cpu objeto configura los límites de uso de la CPU y la supervisión del grupo de aplicaciones.

limitPercentage (opcional)

Tipo: Número

Porcentaje máximo de tiempo de CPU que pueden consumir los procesos de trabajo del grupo de aplicaciones.

limitAction (opcional)

Tipo: cadena

Valores válidos: "NoAction«, «KillW3WP», «Throttle», "» ThrottleUnderLoad

Acción que se debe realizar cuando se alcanza el límite de CPU.

limitMonitoringInterval (opcional)

Tipo: Número

Período de restablecimiento (en minutos) de los límites de supervisión y regulación de la CPU.

Configuración de reciclaje

El recycling objeto configura cuándo y cómo se reciclan los procesos de los trabajadores del grupo de aplicaciones.

regularTimeInterval (opcional)

Tipo: entero

Intervalo de tiempo (en minutos) tras el cual se recicla el grupo de aplicaciones. Configúrelo en 0 para deshabilitar el reciclaje basado en el tiempo.

requestLimit (opcional)

Tipo: entero

Número máximo de solicitudes que el grupo de aplicaciones procesa antes del reciclaje.

memory (opcional)

Tipo: entero

Cantidad de memoria virtual (en kilobytes) que activa el reciclaje de los procesos de trabajo.

privateMemory (opcional)

Tipo: entero

Cantidad de memoria privada (en kilobytes) que activa el reciclaje de los procesos de trabajo.

Tipos de implementación

El deployments objeto contiene matrices de configuraciones de despliegue para distintos tipos de aplicaciones. Cada tipo de despliegue tiene propiedades y casos de uso específicos.

MSDeploy despliegues

MSDeploy las implementaciones se utilizan para las aplicaciones tradicionales de.NET Framework que se pueden implementar mediante Web Deploy ()MSDeploy.

ejemplo MSDeploy configuración de despliegue
{ "deployments": { "msDeploy": [ { "name": "WebApp", "description": "Main web application", "parameters": { "appBundle": "webapp.zip", "iisPath": "/", "appPool": "DefaultAppPool" } } ] } }
MSDeploy propiedades de despliegue
name (obligatorio)

Tipo: cadena

Nombre único de la implementación. Este nombre debe ser único en todas las implementaciones del manifiesto.

description (opcional)

Tipo: cadena

Descripción de la implementación legible para las personas.

parameters (obligatorio)

Tipo: objeto

Parámetros de configuración de la MSDeploy operación.

scripts (opcional)

Tipo: Objeto

PowerShell scripts que se ejecutarán en diversas etapas del ciclo de vida de la implementación.

MSDeploy parámetros

appBundle (obligatorio)

Tipo: cadena

Ruta al paquete de aplicaciones (archivo ZIP) en relación con el archivo de manifiesto. Este paquete contiene los archivos de la aplicación que se van a implementar.

iisPath (opcional)

Tipo: cadena

Predeterminado: «/»

Ruta del directorio virtual en IIS donde se implementará la aplicación. Utilice «/» para la ruta raíz o «/api» para un subdirectorio.

appPool (opcional)

Tipo: cadena

Nombre del grupo de aplicaciones para ejecutar esta aplicación.

Implementaciones de ASP.NET Core

Las implementaciones de ASP.NET Core están diseñadas específicamente para las aplicaciones.NET Core y .NET 5+.

ejemplo Configuración de implementación de ASP.NET Core
{ "deployments": { "aspNetCoreWeb": [ { "name": "CoreAPI", "description": "ASP.NET Core Web API", "parameters": { "appBundle": "coreapi.zip", "iisPath": "/api", "appPool": "CoreAppPool" } } ] } }

Las implementaciones de ASP.NET Core utilizan la misma estructura de propiedades que MSDeploy las implementaciones, con la diferencia clave en el entorno de ejecución y el modelo de alojamiento que se utilizan para la aplicación.

Parámetros de implementación de ASP.NET Core
appBundle (obligatorio)

Tipo: cadena

Ruta al paquete de aplicaciones en relación con el archivo de manifiesto. Puede ser un archivo ZIP o una ruta de directorio que contenga la aplicación ASP.NET Core publicada.

iisPath (opcional)

Tipo: cadena

Predeterminado: «/»

Ruta del directorio virtual en IIS para la aplicación ASP.NET Core.

appPool (opcional)

Tipo: cadena

Grupo de aplicaciones para la aplicación ASP.NET Core. El grupo se configurará adecuadamente para el alojamiento de ASP.NET Core.

Implementaciones personalizadas

Las implementaciones personalizadas proporcionan un control total sobre el proceso de implementación mediante PowerShell scripts. Este tipo de despliegue es útil para escenarios complejos que requieren una lógica de instalación, configuración o despliegue personalizada.

ejemplo Configuración de despliegue personalizada
{ "deployments": { "custom": [ { "name": "CustomService", "description": "Custom Windows service deployment", "architecture": 32, "scripts": { "install": { "file": "install-service.ps1" }, "restart": { "file": "restart-service.ps1" }, "uninstall": { "file": "uninstall-service.ps1", "ignoreErrors": true } } } ] } }
Propiedades de despliegue personalizadas
name (obligatorio)

Tipo: cadena

Nombre exclusivo de la implementación personalizada.

description (opcional)

Tipo: cadena

Descripción de la implementación personalizada.

architecture (opcional)

Tipo: entero

Predeterminado: 32

Valores válidos: 32, 64

La especificación de arquitectura para el modo de ejecución de los scripts de PowerShell

scripts (obligatorio)

Tipo: objeto

PowerShell scripts que definen el comportamiento de despliegue. Las implementaciones personalizadas admiten tipos de scripts adicionales en comparación con otros tipos de implementación.

Scripts de despliegue

Los scripts de despliegue son PowerShell scripts que se ejecutan en momentos específicos del ciclo de vida del despliegue. Los distintos tipos de despliegue admiten distintos conjuntos de eventos de script.

Eventos de script

Los siguientes eventos de script están disponibles en función del tipo de despliegue:

Scripts de despliegue estándar (MSDeploy y aspNetCore Web)
preInstall

Se ejecuta antes de instalar o actualizar la aplicación.

postInstall

Se ejecuta después de instalar o actualizar la aplicación.

preRestart

Se ejecuta antes de reiniciar la aplicación.

postRestart

Se ejecuta después de reiniciar la aplicación.

preUninstall

Se ejecuta antes de desinstalar la aplicación.

postUninstall

Se ejecuta después de desinstalar la aplicación.

Scripts de despliegue personalizados (solo despliegues personalizados)
install

Script de instalación principal para despliegues personalizados. Este script se encarga de instalar la aplicación o el servicio.

restart

Secuencia de comandos para reiniciar la aplicación o el servicio. Se llama cuando se reinicia el entorno.

uninstall

Secuencia de comandos para desinstalar la aplicación o el servicio. Se llama durante la finalización del entorno o la eliminación de la aplicación.

Propiedades del script

Cada script se define como un objeto con las siguientes propiedades:

file (obligatorio)

Tipo: cadena

Ruta al archivo de PowerShell script relativa al archivo de manifiesto. El script debe tener una .ps1 extensión.

ignoreErrors (opcional)

Tipo: Booleano

Valor predeterminado: falso

Si se establece entrue, el despliegue continúa aunque el script falle. Utilícelo para scripts u operaciones de limpieza que no sean críticos.

ejemplo Ejemplo de configuración de scripts
{ "scripts": { "preInstall": { "file": "backup-config.ps1", "ignoreErrors": true }, "postInstall": { "file": "configure-app.ps1" } } }