Référence du schéma du manifeste de déploiement - AWS Elastic Beanstalk

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Référence du schéma du manifeste de déploiement

Le manifeste de déploiement est un fichier JSON qui définit la manière dont Elastic Beanstalk doit déployer et configurer vos applications Windows. Cette section fournit une référence complète pour toutes les propriétés et options de configuration prises en charge dans le schéma du manifeste.

Structure du manifeste

Le manifeste de déploiement suit un schéma JSON spécifique avec la structure de haut niveau suivante :

Exemple Structure de base du manifeste
{ "manifestVersion": 1, "skipIISReset": false, "iisConfig": { "appPools": [...] }, "deployments": { "msDeploy": [...], "aspNetCoreWeb": [...], "custom": [...] } }

Propriétés de haut niveau

manifestVersion (obligatoire)

Type : nombre

Par défaut : 1

Valeurs valides : 1

Spécifie la version du schéma du manifeste. Actuellement, seule la version 1 est prise en charge.

skipIISReset (facultatif)

Type : valeur booléenne

Par défaut : faux

Contrôle si IIS est réinitialisé lors des déploiements d'applications. Cet indicateur affecte à la fois les types de aspNetCoreWeb déploiement msDeploy et les types de déploiement.

Comportement :

  • Non spécifié ou false (par défaut) : les réinitialisations IIS sont effectuées lors des opérations d'installation, de désinstallation et de mise à jour. C'est le comportement traditionnel.

  • true: les réinitialisations IIS sont ignorées lors des opérations de déploiement.

Avantages :

  • Réduction des temps d'arrêt : les applications subissent des interruptions de service plus courtes pendant les déploiements.

  • Déploiements plus rapides : élimine le temps nécessaire au redémarrage et à la réinitialisation complets d'IIS.

Note

Lors de l'utilisationskipIISReset, l'RestartAppServeropération effectue une réinitialisation IIS quel que soit ce paramètre d'indicateur.

Exemple :

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

Type : Objet

Contient les configurations de déploiement pour vos applications. Cet objet peut inclure msDeployaspNetCoreWeb, et des types de custom déploiement.

iisConfig (facultatif)

Type : Objet

Définit les paramètres de configuration IIS à appliquer avant de déployer des applications. Prend actuellement en charge la configuration du pool d'applications.

Configuration d'IIS

Cette iisConfig section vous permet de configurer les paramètres IIS avant de déployer vos applications. Cela est particulièrement utile pour configurer des pools d'applications avec des configurations spécifiques.

Pools d'applications

Les pools d'applications isolent les applications et vous permettent de configurer les paramètres d'exécution pour des groupes d'applications.

Exemple Configuration du pool d'applications
{ "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 } } ] } }
Propriétés du pool d'applications
name (obligatoire)

Type : chaîne

Nom du pool d'applications. Ce nom est utilisé pour faire référence au pool dans les configurations de déploiement.

enable32Bit (facultatif)

Type : valeur booléenne

Permet à une application 32 bits de s'exécuter sur une version 64 bits de Windows. Définissez cette option true pour les applications existantes qui nécessitent une compatibilité 32 bits.

managedPipelineMode (facultatif)

Type : chaîne

Valeurs valides : « Intégré », « Classique »

Spécifie le mode de traitement des demandes pour le pool d'applications.

managedRuntimeVersion (facultatif)

Type : chaîne

Valeurs valides : « Aucun code géré », « v2.0 », « v4.0 »

Spécifie la version du .NET Framework pour le pool d'applications.

queueLength (facultatif)

Type : entier

Nombre maximal de demandes que HTTP.sys met en file d'attente pour le pool d'applications avant de rejeter les demandes supplémentaires.

Configuration du processeur

L'cpuobjet configure les limites d'utilisation du processeur et la surveillance du pool d'applications.

limitPercentage (facultatif)

Type : nombre

Pourcentage maximal de temps processeur que les processus de travail peuvent consommer dans le pool d'applications.

limitAction (facultatif)

Type : chaîne

Valeurs valides : "NoAction«, « KillW3WP », « Throttle », "» ThrottleUnderLoad

Action à entreprendre lorsque la limite du processeur est atteinte.

limitMonitoringInterval (facultatif)

Type : nombre

Période de réinitialisation (en minutes) pour la surveillance du processeur et les limites de régulation.

Configuration du recyclage

L'recyclingobjet configure quand et comment les processus de travail du pool d'applications sont recyclés.

regularTimeInterval (facultatif)

Type : entier

Intervalle de temps (en minutes) après lequel le pool d'applications recycle. Réglez sur 0 pour désactiver le recyclage basé sur le temps.

requestLimit (facultatif)

Type : entier

Nombre maximal de demandes traitées par le pool d'applications avant le recyclage.

memory (facultatif)

Type : entier

Quantité de mémoire virtuelle (en kilo-octets) qui déclenche le recyclage des processus de travail.

privateMemory (facultatif)

Type : entier

Quantité de mémoire privée (en kilo-octets) qui déclenche le recyclage des processus de travail.

Types de déploiement

L'deploymentsobjet contient des tableaux de configurations de déploiement pour différents types d'applications. Chaque type de déploiement possède des propriétés et des cas d'utilisation spécifiques.

MSDeploy déploiements

MSDeploy les déploiements sont utilisés pour les applications .NET Framework traditionnelles qui peuvent être déployées à l'aide de Web Deploy (MSDeploy).

Exemple MSDeploy configuration de déploiement
{ "deployments": { "msDeploy": [ { "name": "WebApp", "description": "Main web application", "parameters": { "appBundle": "webapp.zip", "iisPath": "/", "appPool": "DefaultAppPool" } } ] } }
MSDeploy propriétés de déploiement
name (obligatoire)

Type : chaîne

Nom unique pour le déploiement. Ce nom doit être unique pour tous les déploiements du manifeste.

description (facultatif)

Type : chaîne

Description lisible par l'homme du déploiement.

parameters (obligatoire)

Type : Objet

Paramètres de configuration de l' MSDeploy opération.

scripts (facultatif)

Type : Objet

PowerShell scripts à exécuter à différentes étapes du cycle de vie du déploiement.

MSDeploy paramètres

appBundle (obligatoire)

Type : chaîne

Chemin d'accès au bundle d'applications (fichier ZIP) relatif au fichier manifeste. Ce bundle contient les fichiers d'application à déployer.

iisPath (facultatif)

Type : chaîne

Par défaut : «/»

Chemin du répertoire virtuel dans IIS où l'application sera déployée. Utilisez «/» pour le chemin racine ou « /api » pour un sous-répertoire.

appPool (facultatif)

Type : chaîne

Nom du pool d'applications pour exécuter cette application.

Déploiements ASP.NET Core

Les déploiements ASP.NET Core sont spécialement conçus pour les applications .NET Core et .NET 5+.

Exemple Configuration du déploiement d'ASP.NET Core
{ "deployments": { "aspNetCoreWeb": [ { "name": "CoreAPI", "description": "ASP.NET Core Web API", "parameters": { "appBundle": "coreapi.zip", "iisPath": "/api", "appPool": "CoreAppPool" } } ] } }

Les déploiements ASP.NET Core utilisent la même structure de propriétés que MSDeploy les déploiements, la principale différence étant l'environnement d'exécution et le modèle d'hébergement utilisés pour l'application.

Paramètres de déploiement d'ASP.NET Core
appBundle (obligatoire)

Type : chaîne

Chemin d'accès au bundle d'applications relatif au fichier manifeste. Il peut s'agir d'une archive ZIP ou d'un chemin de répertoire contenant l'application ASP.NET Core publiée.

iisPath (facultatif)

Type : chaîne

Par défaut : «/»

Chemin du répertoire virtuel dans IIS pour l'application ASP.NET Core.

appPool (facultatif)

Type : chaîne

Pool d'applications pour l'application ASP.NET Core. Le pool sera configuré de manière appropriée pour l'hébergement ASP.NET Core.

Déploiements personnalisés

Les déploiements personnalisés permettent de contrôler totalement le processus de déploiement par le biais de PowerShell scripts. Ce type de déploiement est utile pour les scénarios complexes qui nécessitent une installation, une configuration ou une logique de déploiement personnalisées.

Exemple Configuration de déploiement personnalisée
{ "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 } } } ] } }
Propriétés de déploiement personnalisées
name (obligatoire)

Type : chaîne

Nom unique pour le déploiement personnalisé.

description (facultatif)

Type : chaîne

Description du déploiement personnalisé.

architecture (facultatif)

Type : entier

Par défaut : 32

Valeurs valides : 32, 64

La spécification d'architecture pour le mode d'exécution des scripts PowerShell

scripts (obligatoire)

Type : Objet

PowerShell des scripts qui définissent le comportement de déploiement. Les déploiements personnalisés prennent en charge des types de scripts supplémentaires par rapport aux autres types de déploiement.

Scripts de déploiement

Les scripts de déploiement sont PowerShell des scripts qui s'exécutent à des moments spécifiques du cycle de vie du déploiement. Les différents types de déploiement prennent en charge différents ensembles d'événements de script.

Événements de script

Les événements de script suivants sont disponibles en fonction du type de déploiement :

Scripts de déploiement standard (MSDeploy et aspNetCore Web)
preInstall

S'exécute avant l'installation ou la mise à jour de l'application.

postInstall

S'exécute après l'installation ou la mise à jour de l'application.

preRestart

S'exécute avant le redémarrage de l'application.

postRestart

S'exécute après le redémarrage de l'application.

preUninstall

S'exécute avant la désinstallation de l'application.

postUninstall

S'exécute après la désinstallation de l'application.

Scripts de déploiement personnalisés (déploiements personnalisés uniquement)
install

Script d'installation principal pour les déploiements personnalisés. Ce script est responsable de l'installation de l'application ou du service.

restart

Script pour redémarrer l'application ou le service. Appelé au redémarrage de l'environnement.

uninstall

Script pour désinstaller l'application ou le service. Appelé lors de la fermeture de l'environnement ou de la suppression d'une application.

Propriétés du script

Chaque script est défini comme un objet doté des propriétés suivantes :

file (obligatoire)

Type : chaîne

Chemin d'accès au fichier de PowerShell script relatif au fichier manifeste. Le script doit avoir une .ps1 extension.

ignoreErrors (facultatif)

Type : valeur booléenne

Par défaut : faux

Lorsque ce paramètre est défini surtrue, le déploiement se poursuit même si le script échoue. Utilisez-le pour des scripts ou des opérations de nettoyage non critiques.

Exemple de configuration de script
{ "scripts": { "preInstall": { "file": "backup-config.ps1", "ignoreErrors": true }, "postInstall": { "file": "configure-app.ps1" } } }