Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Distribuzione di applicazioni ASP.NET Web Forms su AWS
Gestione dei NuGet pacchetti
NuGet è un repository che contiene e gestisce pacchetti di codice per.NET. Un'applicazione può avere due tipi di NuGet pacchetti installati: pacchetti disponibili pubblicamente su nuget.org
Per risolvere questo problema, potete fornire un repository gestito di artifact (NuGet) per scaricare pacchetti da fonti esterne come nuget.org. È possibile utilizzare AWS CodeArtifact, che è un servizio di artifact repository completamente gestito, come repository di pacchetti. NuGet Per ulteriori informazioni, consulta il AWS post del blog Using with. NuGet AWS CodeArtifact
Per configurare l'applicazione per l'utilizzo del repository dei NuGet pacchetti, create un NuGet.config
file nella directory principale del progetto o nella directory principale della soluzione. Questo file specifica i sorgenti dei pacchetti da NuGet utilizzare per il ripristino dei pacchetti. L'esempio seguente mostra come configurare il NuGet.config
file da utilizzare: 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 questo esempio, https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json
sostituiscilo con l'URL effettivo del tuo CodeArtifact repository. Puoi trovare questo URL sulla CodeArtifact consoleaws codeartifact get-repository-endpoint
comando.
Importante
-
La configurazione del
NuGet.config
file influisce su tutti i progetti all'interno della stessa struttura di cartelle. Se desideri utilizzare fonti di pacchetti diverse per progetti diversi, creaNuGet.config
file separati per ogni progetto o soluzione. -
Assicurati che le istanze che creano l'applicazione dispongano delle autorizzazioni e dell'accesso alla rete necessari per connettersi all'archivio dei NuGet pacchetti (ad esempio). CodeArtifact Per ulteriori informazioni sull'ottenimento delle credenziali, consulta Utilizzare CodeArtifact con la CLI nuget o dotnet nella documentazione. CodeArtifact
Creazione di un'applicazione
Quando esegui la migrazione di applicazioni ASP.NET Web Forms legacy a AWS, continui a utilizzare Microsoft Build Engine (MSBuild) come strumento centrale per la creazione delle applicazioni. MSBuild è in genere fornito in bundle con Visual Studio, ma è possibile scaricare e utilizzare l' MSBuild eseguibile autonomo di Microsoft senza installare Visual Studio. Questo approccio è particolarmente utile quando si crea un'applicazione Web Forms su AWS cui è possibile utilizzare istanze Windows o contenitori Docker con installazione. MSBuild
Per creare un'applicazione ASP.NET Web Forms sono necessari due passaggi principali: il ripristino dei NuGet pacchetti e la creazione dell'applicazione. Le specifiche di esecuzione di questi passaggi possono variare a seconda dello strumento CI/CD che si sceglie di utilizzare. Ad esempio, se si utilizza AWS CodeBuild, il processo di compilazione viene eseguito all'interno di un contenitore Docker.
Pacchetti di ripristino NuGet
Prima di creare l'applicazione, è necessario ripristinare i NuGet pacchetti richiesti dal progetto. È possibile farlo utilizzando uno MSBuild dei NuGet comandi CLI (Command Line Interface), eseguiti nella directory principale del progetto.
Usando MSBuild:
msbuild -t:restore
Utilizzo della NuGet CLI:
nuget restore
Costruisci usando MSBuild
Dopo aver ripristinato i NuGet pacchetti, puoi procedere con il comando build principale che produce gli artefatti di distribuzione. Il comando in genere specifica il file di progetto, la configurazione di build (ad esempioRelease
) e la directory di output per gli artefatti creati.
msbuild <ProjectName>.csproj /p:Configuration=Release /p:OutDir=<OutDir>
Per ulteriori informazioni sulle MSBuild opzioni, vedere il riferimento alla MSBuild riga di
Per ulteriori informazioni sulla creazione di un'applicazione ASP.NET con AWS CodeBuild, consulta il post di AWS blog Creazione di pipeline CI/CD
Distribuzione di un'applicazione
Dopo aver creato l'applicazione Web Forms, distribuisci gli artefatti nell'ambiente di destinazione su. AWS Nella maggior parte degli scenari, puoi comprimere e caricare gli artefatti creati in un bucket Amazon Simple Storage Service (Amazon S3) per una facile distribuzione e implementazione. Per istruzioni, consulta la documentazione di Amazon S3.
Esistono due opzioni principali per distribuire gli artefatti su un' EC2 istanza Amazon: manuale e automatizzata.
Distribuzione manuale
Questa opzione prevede l'utilizzo dei dati utente dell' EC2 istanza per includere script che eseguiranno le seguenti attività:
-
Installa Internet Information Services (IIS)
-
Estrai e decomprimi gli artefatti di build dal bucket Amazon S3
-
Crea e configura l'applicazione IIS
Sebbene questo approccio offra flessibilità, richiede un intervento manuale e potrebbe diventare difficile da gestire man mano che l'applicazione si ridimensiona o se viene sottoposta a frequenti aggiornamenti.
Distribuzione automatizzata
L'approccio consigliato è quello di utilizzare AWS CodeDeploy
Per ulteriori informazioni ed esempi sulla configurazione di pipeline CI/CD per le applicazioni ASP.NET Web Forms utilizzando CodePipeline, e CodeBuild, consulta il post di AWS blog Creazione
Utilizzando Servizi AWS such as CodeBuild, and CodeDeploy CodePipeline, è possibile semplificare i processi di creazione e distribuzione delle applicazioni ASP.NET Web Forms migrate e garantire distribuzioni coerenti e affidabili nell'infrastruttura. AWS
Per ulteriori informazioni sulle distribuzioni automatizzate, consulta il post di AWS blog Generazione di pipeline CI/CD per applicazioni ASP.NET containerizzate AWS App2Container e le informazioni sulla creazione di una pipeline CI/CD per le applicazioni preesistenti di .NET Framework