Déploiements personnalisés d'applications Elastic Beanstalk - AWS Boîte à outils avec Amazon Q

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.

Déploiements personnalisés d'applications Elastic Beanstalk

Cette rubrique décrit comment le manifeste de déploiement du conteneur Microsoft Windows d'Elastic Beanstalk prend en charge les déploiements personnalisés d'applications.

Les déploiements personnalisés d'applications sont une fonctionnalité puissante destinée aux utilisateurs expérimentés qui souhaitent exploiter la puissance d'Elastic Beanstalk pour créer et gérer leurAWSmais veulent avoir un contrôle complet sur la façon dont leur application est déployée. Pour un déploiement personnalisé d'applications, vous créez des scripts Windows PowerShell pour les trois actions différentes exécutées par Elastic Beanstalk. L'action d'installation est utilisée lorsqu'un déploiement est lancé, le redémarrage est utilisé lorsque l'API RestartAppServer est appelée depuis la boîte à outils ou la console web, et la désinstallation est appelée sur n'importe quel déploiement antérieur à chaque nouveau déploiement.

Par exemple, vous pouvez disposer d'une application ASP.NET que vous souhaitez déployer tandis que votre équipe de documentation écrit un site web statique qu'elle souhaite inclure au déploiement. Pour ce faire, écrivez votre manifeste de déploiement comme suit :

{ "manifestVersion": 1, "deployments": { "msDeploy": [ { "name": "app", "parameters": { "appBundle": "CoolApp.zip", "iisPath": "/" } } ], "custom": [ { "name": "PowerShellDocs", "scripts": { "install": { "file": "install.ps1" }, "restart": { "file": "restart.ps1" }, "uninstall": { "file": "uninstall.ps1" } } } ] } }

Les scripts répertoriés pour chaque action doivent se trouver dans la solution groupée d'applications associée au fichier manifeste de déploiement. Dans cet exemple, la solution groupée d'applications renferme également un fichier documentation.zip qui contient un site web statique créé par votre équipe de documentation.

Le script install.ps1 extrait le fichier zip et configure le champ IIS.

Add-Type -assembly "system.io.compression.filesystem" [io.compression.zipfile]::ExtractToDirectory('./documentation.zip', 'c:\inetpub\wwwroot\documentation') powershell.exe -Command {New-WebApplication -Name documentation -PhysicalPath c:\inetpub\wwwroot\documentation -Force}

Étant donné que votre application s'exécute dans IIS, l'action de redémarrage appellera une réinitialisation d'IIS.

iisreset /timeout:1

Pour désinstaller des scripts, il est important de nettoyer tous les paramètres et les fichiers utilisés pendant la phase d'installation. De cette façon, lors de la phase d'installation de la nouvelle version, vous pouvez éviter toute collision avec des déploiements précédents. Dans cet exemple, vous devez supprimer l'application IIS pour le site web statique et supprimer les fichiers de ce dernier.

powershell.exe -Command {Remove-WebApplication -Name documentation} Remove-Item -Recurse -Force 'c:\inetpub\wwwroot\documentation'

Avec ces fichiers de script et le fichier documentation.zip inclus dans votre solution groupée d'applications, le déploiement crée l'application ASP.NET et déploie le site de la documentation.

Dans cet exemple, nous avons choisi un exemple simple qui déploie un simple site web statique, mais grâce au déploiement personnalisé d'applications, vous pouvez déployer n'importe quel type d'application et laisser Elastic Beanstalk en gérer leAWSressources pour cela.