Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Bereitstellen von ASP.NET Web Forms-Anwendungen auf AWS
Pakete verwalten NuGet
NuGet ist ein Repository, das Codepakete für.NET enthält und verwaltet. In einer Anwendung können zwei Arten von NuGet Paketen installiert sein: öffentlich verfügbare Pakete von nuget.org
Um dieses Problem zu lösen, können Sie ein verwaltetes Artifact (NuGet) -Repository bereitstellen, um Pakete von externen Quellen wie nuget.org herunterzuladen. Sie können AWS CodeArtifact diesen vollständig verwalteten Artefakt-Repository-Service als Paket-Repository verwenden. NuGet Weitere Informationen finden Sie im AWS Blogbeitrag Using NuGet with AWS CodeArtifact
Um Ihre Anwendung für die Verwendung des NuGet Paket-Repositorys zu konfigurieren, erstellen Sie eine NuGet.config
Datei im Projektstammverzeichnis oder Lösungsstammverzeichnis. Diese Datei gibt die Paketquellen an, die beim Wiederherstellen von Paketen verwendet werden NuGet sollen. Das folgende Beispiel zeigt, wie die zu NuGet.config
verwendende Datei konfiguriert wird 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>
In diesem Beispiel https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json
ersetzen Sie es durch die tatsächliche URL Ihres CodeArtifact Repositorys. Sie finden diese URL auf der CodeArtifact Konsoleaws codeartifact get-repository-endpoint
Befehl ausführen.
Wichtig
-
Die Konfiguration der
NuGet.config
Datei wirkt sich auf alle Projekte innerhalb derselben Verzeichnisstruktur aus. Wenn Sie unterschiedliche Paketquellen für verschiedene Projekte verwenden möchten, erstellen Sie separateNuGet.config
Dateien für jedes Projekt oder jede Lösung. -
Stellen Sie sicher, dass die Instanzen, die die Anwendung erstellen, über die erforderlichen Berechtigungen und Netzwerkzugriff verfügen, um eine Verbindung zum NuGet Paket-Repository herzustellen (z. B. CodeArtifact). Weitere Informationen zum Abrufen von Anmeldeinformationen finden Sie in der Dokumentation unter Verwenden CodeArtifact mit der Nuget- oder Dotnet-CLI. CodeArtifact
Eine Anwendung erstellen
Wenn Sie ältere ASP.NET Web Forms-Anwendungen zu migrieren AWS, verwenden Sie weiterhin die Microsoft Build Engine (MSBuild) als zentrales Tool für die Erstellung der Anwendungen. MSBuild ist normalerweise mit Visual Studio gebündelt, aber Sie können die eigenständige MSBuild ausführbare Datei von Microsoft herunterladen und verwenden, ohne Visual Studio zu installieren. Dieser Ansatz ist besonders nützlich, wenn Sie Ihre Web Forms-Anwendung darauf aufbauen AWS, wo Sie Windows-Instanzen oder Docker-Container mit MSBuild installiertem Betriebssystem verwenden können.
Zum Erstellen einer ASP.NET Web Forms-Anwendung sind zwei Hauptschritte erforderlich: das Wiederherstellen der NuGet Pakete und das Erstellen der Anwendung. Die Einzelheiten der Ausführung dieser Schritte können je nach dem CI/CD-Tool, das Sie verwenden, variieren. Wenn Sie beispielsweise verwenden AWS CodeBuild, wird der Build-Prozess in einem Docker-Container ausgeführt.
Pakete wiederherstellen NuGet
Bevor Sie Ihre Anwendung erstellen, müssen Sie die für das Projekt benötigten NuGet Pakete wiederherstellen. Sie können dazu entweder Befehle MSBuild oder Befehle der NuGet Befehlszeilenschnittstelle (CLI) verwenden, die im Stammverzeichnis des Projekts ausgeführt werden.
Verwenden von MSBuild:
msbuild -t:restore
Verwenden von NuGet CLI:
nuget restore
Erstellen Sie mit MSBuild
Nachdem Sie die NuGet Pakete wiederhergestellt haben, können Sie mit dem Haupt-Build-Befehl fortfahren, der die Bereitstellungsartefakte erzeugt. Der Befehl gibt in der Regel die Projektdatei, die Build-Konfiguration (z. B.Release
) und das Ausgabeverzeichnis für die erstellten Artefakte an.
msbuild <ProjectName>.csproj /p:Configuration=Release /p:OutDir=<OutDir>
Weitere Informationen zu MSBuild Optionen finden Sie in der MSBuild Befehlszeilenreferenz
Weitere Informationen zum Erstellen einer ASP.NET-Anwendung mit AWS CodeBuild finden Sie im AWS Blogbeitrag Erstellen von CI/CD-Pipelines
Eine Anwendung bereitstellen
Nachdem Sie Ihre Web Forms-Anwendung erstellt haben, stellen Sie die Artefakte in der Zielumgebung auf bereit AWS. In den meisten Szenarien können Sie die erstellten Artefakte komprimieren und zur einfachen Verteilung und Bereitstellung in einen Amazon Simple Storage Service (Amazon S3) -Bucket hochladen. Anweisungen finden Sie in der Amazon S3 S3-Dokumentation.
Es gibt zwei Hauptoptionen für die Bereitstellung der Artefakte auf einer EC2 Amazon-Instance: manuell und automatisiert.
Manuelle Bereitstellung
Bei dieser Option werden die Benutzerdaten der EC2 Instanz verwendet, um Skripts einzubinden, die die folgenden Aufgaben ausführen:
-
Installieren Sie Internetinformationsdienste (IIS)
-
Die Build-Artefakte aus dem Amazon S3 S3-Bucket abrufen und entpacken
-
Erstellen und konfigurieren Sie die IIS-Anwendung
Dieser Ansatz bietet zwar Flexibilität, erfordert jedoch manuelles Eingreifen und kann schwierig zu verwalten sein, wenn Ihre Anwendung skaliert oder häufig aktualisiert wird.
Automatisierte Bereitstellung
Der empfohlene Ansatz ist die Verwendung AWS CodeDeploy
Weitere Informationen und Beispiele zum Einrichten von CI/CD-Pipelines für ASP.NET Web Forms-Anwendungen mithilfe von CodePipeline CodeBuild, und CodeDeploy finden Sie im AWS Blogbeitrag Erstellen von CI/CD-Pipelines
Mithilfe von AWS-Services wie CodeBuild CodeDeploy, und können Sie die Erstellungs- und CodePipeline Bereitstellungsprozesse für Ihre migrierten ASP.NET Web Forms-Anwendungen optimieren und konsistente und zuverlässige Bereitstellungen in der Infrastruktur sicherstellen. AWS
Weitere Informationen zu automatisierten Bereitstellungen finden Sie im AWS Blogbeitrag Generieren von CI/CD-Pipelines für containerisierte ASP.NET-Anwendungen mithilfe von AWS App2Container und in den Informationen zum Aufbau