Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Suggerimento
Questo contenuto è un estratto dell'eBook, Architect Modern Web Applications with ASP.NET Core and Azure, disponibile in .NET Docs o come PDF scaricabile gratuito che può essere letto offline.
"Con il cloud, le persone e le piccole imprese possono schioccare le dita e configurare immediatamente servizi di classe aziendale."
- Roy Stephan
Visione
Sviluppare applicazioni ASP .NET Core ben progettate nel modo desiderato, usando Visual Studio o l'interfaccia della riga di comando dotnet e Visual Studio Code o l'editor preferito.
Ambiente di sviluppo per app core ASP.NET
Opzioni degli strumenti di sviluppo: IDE o editor
Indipendentemente dal fatto che si preferisca un IDE completo e potente o un editor leggero e agile, Microsoft offre le soluzioni necessarie per lo sviluppo di applicazioni ASP.NET Core.
Visual Studio 2022. Visual Studio 2022 è l'IDE di classe migliore per lo sviluppo di applicazioni per ASP.NET Core. Offre una serie di funzionalità che aumentano la produttività degli sviluppatori. È possibile usarlo per sviluppare l'applicazione, quindi analizzarne le prestazioni e altre caratteristiche. Il debugger integrato consente di sospendere l'esecuzione del codice e di navigare avanti e indietro nel codice in tempo reale durante l'esecuzione. Il supporto per il ricaricamento a caldo consente di continuare a lavorare con l'app da dove avevi interrotto, anche dopo aver apportato modifiche al codice, senza dover riavviare l'app. Il test runner predefinito consente di organizzare i test e i relativi risultati e di eseguire anche unit test live durante la scrittura del codice. Usando Live Share, è possibile collaborare in tempo reale con altri sviluppatori, condividendo facilmente la sessione di codice in rete. Quando si è pronti, Visual Studio include tutti gli elementi necessari per pubblicare l'applicazione in Azure o ovunque sia possibile ospitarla.
Visual Studio Code e dotnet CLI (Cross-Platform Tools per Mac, Linux e Windows). Se si preferisce un editor leggero e multipiattaforma che supporta qualsiasi linguaggio di sviluppo, è possibile usare Microsoft Visual Studio Code e l'interfaccia della riga di comando dotnet. Questi prodotti offrono un'esperienza semplice ma affidabile che semplifica il flusso di lavoro dello sviluppatore. Visual Studio Code supporta anche le estensioni per lo sviluppo C# e Web, fornendo intellisense e attività di scelta rapida all'interno dell'editor.
Flusso di lavoro di sviluppo per le app ASP.NET Core ospitate in Azure
Il ciclo di vita di sviluppo dell'applicazione inizia dal computer di ogni sviluppatore, codificando l'app usando il linguaggio preferito e testandolo in locale. Gli sviluppatori possono scegliere il sistema di controllo del codice sorgente preferito e configurare l'integrazione continua (CI) e/o recapito continuo/distribuzione (CD) usando un server di compilazione o in base alle funzionalità predefinite di Azure.
Per iniziare a sviluppare un'applicazione ASP.NET Core con CI/CD, è possibile usare Azure DevOps Services o Team Foundation Server (TFS) dell'organizzazione. GitHub Actions offre un'altra opzione per creare e distribuire facilmente app in Azure, per le app il cui codice è ospitato in GitHub.
Configurazione iniziale
Per creare una pipeline di versione per l'app, è necessario avere il codice dell'applicazione nel controllo del codice sorgente. Configurare un repository locale e connetterlo a un repository remoto in un progetto team. Seguire queste istruzioni:
Creare un servizio app di Azure in cui si distribuirà l'applicazione. Creare un'app Web passando al pannello Servizi app nel portale di Azure. Fare clic su +Aggiungi, selezionare il modello app Web, fare clic su Crea e specificare un nome e altri dettagli. L'app Web sarà accessibile da {name}.azurewebsites.net.
Figura 10-1. Creazione di una nuova app Web del servizio app di Azure nel portale di Azure.
Il processo di compilazione CI eseguirà una compilazione automatizzata ogni volta che viene eseguito il commit di un nuovo codice nel repository del controllo del codice sorgente del progetto. Questo processo fornisce un feedback immediato che il codice compila (e, idealmente, supera i test automatizzati) e può essere potenzialmente distribuito. Questa build CI produrrà un artefatto del pacchetto di distribuzione Web e lo pubblicherà per l'uso nel processo CD.
Definire il processo di compilazione CI
Assicurarsi di abilitare l'integrazione continua in modo che il sistema accoda una compilazione ogni volta che un utente del team esegue il commit di nuovo codice. Testare la build e verificare che stia producendo un pacchetto di distribuzione web come uno dei suoi artefatti.
Quando una compilazione avrà esito positivo, il processo CD implementerà i risultati della compilazione CI nella tua applicazione web Azure. Per configurare questo passaggio, creare e configurare un Rilascio che verrà distribuito nel Servizio App di Azure.
Distribuire un'app Web di Azure
Dopo aver configurato la pipeline CI/CD, è possibile apportare facilmente aggiornamenti all'app Web ed eseguirne il commit nel controllo del codice sorgente per distribuirli.
Flusso di lavoro per lo sviluppo di applicazioni ASP.NET Core ospitate in Azure
Dopo aver configurato l'account Azure e il processo CI/CD, lo sviluppo di applicazioni ASP.NET Core ospitate in Azure è semplice. Di seguito sono riportati i passaggi di base distribuiti in genere durante la creazione di un'app core ASP.NET, ospitata nel servizio app di Azure come app Web, come illustrato nella figura 10-2.
Figura 10-2. Flusso di lavoro dettagliato per la creazione di app ASP.NET Core e l'hosting in Azure
Passaggio 1: Ciclo interno dell'ambiente di sviluppo locale
Lo sviluppo dell'applicazione ASP.NET Core per la distribuzione in Azure non è diverso dallo sviluppo dell'applicazione in caso contrario. Usare l'ambiente di sviluppo locale con cui si ha familiarità, sia che si tratti di Visual Studio 2019 o dell'interfaccia della riga di comando dotnet e di Visual Studio Code o dell'editor preferito. È possibile scrivere codice, eseguire e fare il debug delle modifiche, avviare test automatizzati e effettuare commit locali nel controllo del codice sorgente finché non si è pronti a fare il push delle modifiche nel repository di controllo del codice sorgente condiviso.
Passaggio 2. Repository del codice dell'applicazione
Ogni volta che si è pronti a condividere il codice con il team, è necessario eseguire il push delle modifiche dal repository di origine locale al repository di origine condiviso del team. Se si lavora in un ramo personalizzato, questo passaggio comporta in genere l'unione del codice in un ramo condiviso ,ad esempio tramite una richiesta pull.
Passaggio 3. Server di compilazione: integrazione continua. compilazione, test, pacchetto
Viene attivata una nuova compilazione nel server di compilazione ogni volta che viene eseguito un nuovo commit nel repository di codice dell'applicazione condivisa. Come parte del processo di integrazione continua, questa compilazione deve compilare completamente l'applicazione ed eseguire test automatizzati per verificare che tutto funzioni come previsto. Il risultato finale del processo di integrazione continua deve essere una versione in pacchetto dell'app Web, pronta per la distribuzione.
Passaggio 4. Server di compilazione: distribuzione continua
Una volta completata la build, il processo di CD prenderà in carico gli artefatti di build prodotti. Questo processo includerà un pacchetto di distribuzione Web. Il server di compilazione distribuirà questo pacchetto nel servizio app di Azure, sostituendo qualsiasi servizio esistente con quello appena creato. In genere questo passaggio è destinato a un ambiente di staging, ma alcune applicazioni vengono distribuite direttamente nell'ambiente di produzione tramite un processo CD.
Passaggio 5. App Web del servizio app di Azure
Dopo la distribuzione, l'applicazione ASP.NET Core viene eseguita nel contesto di un'app Web del servizio app di Azure. Questa app Web può essere monitorata e ulteriormente configurata usando il portale di Azure.
Passaggio 6. Monitoraggio e diagnostica della produzione
Mentre l'app Web è in esecuzione, è possibile monitorare l'integrità dell'applicazione e raccogliere dati di diagnostica e comportamento dell'utente. Application Insights è incluso in Visual Studio e offre la strumentazione automatica per le app di ASP.NET. Può fornire informazioni sull'utilizzo, le eccezioni, le richieste, le prestazioni e i log.
Riferimenti
Compilare e distribuire l'app core ASP.NET in Azure
https://learn.microsoft.com/azure/devops/build-release/apps/aspnet/build-aspnet-core