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éploiement d'applications ASP.NET Web Forms sur AWS
Gestion des NuGet packages
NuGet est un référentiel qui contient et gère des packages de code pour .NET. Deux types de NuGet packages peuvent être installés sur une application : des packages accessibles au public provenant de nuget.org
Pour résoudre ce problème, vous pouvez configurer un référentiel d'artefacts géré (NuGet) pour télécharger des packages à partir de sources externes telles que nuget.org. Vous pouvez l'utiliser AWS CodeArtifact, qui est un service de référentiel d'artefacts entièrement géré, comme référentiel de NuGet packages. Pour plus d'informations, consultez le billet de AWS blog Utiliser NuGet avec AWS CodeArtifact
Pour configurer votre application afin qu'elle utilise le référentiel de NuGet packages, créez un NuGet.config
fichier dans le répertoire racine du projet ou dans le répertoire racine de la solution. Ce fichier indique les sources de packages à utiliser NuGet lors de la restauration des packages. L'exemple suivant montre comment configurer le NuGet.config
fichier à utiliser CodeArtifact :
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageRestore> <!-- Allow NuGet to download missing packages --> <add key="enabled" value="True" /> <!-- Automatically check for missing packages during build in Visual Studio --> <add key="automatic" value="True" /> </packageRestore> <packageSources> <add key="MyRepo" value="https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json" /> </packageSources> </configuration>
Dans cet exemple, remplacez https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json
par l'URL réelle de votre CodeArtifact dépôt. Vous pouvez trouver cette URL sur la CodeArtifact consoleaws codeartifact get-repository-endpoint
commande.
Important
-
La configuration du
NuGet.config
fichier affecte tous les projets au sein de la même structure de répertoire. Si vous souhaitez utiliser différentes sources de package pour différents projets, créez desNuGet.config
fichiers distincts pour chaque projet ou solution. -
Assurez-vous que les instances qui créent l'application disposent des autorisations et de l'accès réseau nécessaires pour se connecter au référentiel de NuGet packages (par exemple CodeArtifact). Pour plus d'informations sur l'obtention d'informations d'identification, consultez la section Utiliser CodeArtifact avec la CLI nuget ou dotnet dans la CodeArtifact documentation.
Création d'une application
Lorsque vous migrez des applications ASP.NET Web Forms héritées vers AWS, vous continuez à utiliser le Microsoft Build Engine (MSBuild) comme outil central pour créer les applications. MSBuild est généralement fourni avec Visual Studio, mais vous pouvez télécharger et utiliser le MSBuild fichier exécutable autonome de Microsoft sans installer Visual Studio. Cette approche est particulièrement utile lorsque vous créez votre application Web Forms sur AWS laquelle vous pouvez utiliser des instances Windows ou des conteneurs Docker MSBuild installés.
Deux étapes principales sont nécessaires pour créer une application ASP.NET Web Forms : la restauration des NuGet packages et la création de l'application. Les détails relatifs à l'exécution de ces étapes peuvent varier en fonction de l'outil CI/CD que vous choisissez d'utiliser. Par exemple, si vous utilisez AWS CodeBuild, le processus de construction est exécuté dans un conteneur Docker.
Restaurer NuGet les packages
Avant de créer votre application, vous devez restaurer les NuGet packages requis par le projet. Vous pouvez le faire en utilisant l'une MSBuild ou l'autre des commandes de l'interface de ligne de NuGet commande (CLI), exécutées dans le répertoire racine du projet.
En utilisant MSBuild :
msbuild -t:restore
À l'aide de la NuGet CLI :
nuget restore
Construire en utilisant MSBuild
Après avoir restauré les NuGet packages, vous pouvez exécuter la commande de construction principale qui produit les artefacts de déploiement. La commande spécifie généralement le fichier de projet, la configuration de construction (par exemple,Release
) et le répertoire de sortie pour les artefacts créés.
msbuild <ProjectName>.csproj /p:Configuration=Release /p:OutDir=<OutDir>
Pour plus d'informations sur les MSBuild options, consultez la référence de MSBuild la ligne de commande
Pour plus d'informations sur la création d'une application ASP.NET avec AWS CodeBuild, consultez le billet de AWS blog Création de pipelines CI/CD pour ASP.NET
Déploiement d'une application
Après avoir créé votre application Web Forms, vous déployez les artefacts dans l'environnement cible sur AWS. Dans la plupart des scénarios, vous pouvez compresser et télécharger les artefacts intégrés dans un compartiment Amazon Simple Storage Service (Amazon S3) pour une distribution et un déploiement faciles. Pour obtenir des instructions, consultez la documentation Amazon S3.
Il existe deux options principales pour déployer les artefacts sur une EC2 instance Amazon : manuelle et automatisée.
Déploiement manuel
Cette option implique l'utilisation des données utilisateur de l' EC2 instance pour inclure des scripts qui exécuteront les tâches suivantes :
-
Installation des services Internet (IIS)
-
Extrayez et décompressez les artefacts de construction du compartiment Amazon S3
-
Création et configuration de l'application IIS
Bien que cette approche apporte de la flexibilité, elle nécessite une intervention manuelle et peut devenir difficile à gérer à mesure que votre application évolue ou si elle fait l'objet de mises à jour fréquentes.
Déploiement automatique
L'approche recommandée consiste à l'utiliser AWS CodeDeploy
Pour plus d'informations et des exemples sur la configuration de pipelines CI/CD pour les applications ASP.NET Web Forms en utilisant CodePipeline, et CodeBuild CodeDeploy, consultez le billet de AWS blog Création de pipelines CI/CD pour
En utilisant Services AWS tels que CodeBuild, et CodeDeploy CodePipeline, vous pouvez rationaliser les processus de création et de déploiement de vos applications ASP.NET Web Forms migrées et garantir des déploiements cohérents et fiables sur l'infrastructure. AWS
Pour plus d'informations sur les déploiements automatisés, consultez le billet de AWS blog Génération de pipelines CI/CD pour les applications ASP.NET conteneurisées à l'aide AWS App2Container et les informations sur la création d'un pipeline CI/CD