Processo di sviluppo per Azure

Suggerimento

Questo contenuto è un estratto dell'eBook Progettare applicazioni Web moderne con ASP.NET Core e Azure, disponibile in .NET Docs o come PDF scaricabile gratuitamente che può essere letto offline.

Architect Modern Web Applications with ASP.NET Core and Azure eBook cover thumbnail.

"Con il cloud, privati e piccole aziende possono configurare rapidamente servizi di livello professionale".
- Roy Stephan

Visione

Sviluppare applicazioni ASP .NET Core ben progettate nel modo desiderato usando Visual Studio o l'interfaccia della riga di comando per .NET e Visual Studio Code o l'editor preferito.

Ambiente di sviluppo per app ASP.NET Core

Opzioni degli strumenti di sviluppo: IDE o editor

Durante lo sviluppo di applicazioni ASP.NET Core Microsoft offre gli strumenti necessari sia che si scelga un IDE potente e completo sia che si preferisca un editor semplice e agile.

Visual Studio 2022. Visual Studio 2022 è l'IDE migliore della categoria per lo sviluppo di applicazioni per ASP.NET Core. Offre una serie di funzionalità che aumentano la produttività degli sviluppatori. Puoi usarlo per sviluppare l'applicazione, analizzarne le prestazioni e altre caratteristiche. Il debugger integrato ti consente di sospendere l'esecuzione del codice e di esaminarlo in tempo reale durante l'esecuzione. Il supporto per i ricaricamenti ad accesso frequente ti permette di continuare a lavorare con l'app che è stata interrotta, anche dopo aver apportato modifiche al codice, senza doverla riavviare. L’esecutore dei test predefinito ti consente di organizzare i test e i relativi risultati, oltre a eseguire testing unità live durante la scrittura del codice. Usando Live Share, puoi collaborare in tempo reale con altri sviluppatori, condividendo facilmente la sessione di codice in rete. E quando sei pronto, Visual Studio include tutto ciò che ti serve per pubblicare l'applicazione in Azure o ovunque sia possibile ospitarla.

Scarica Visual Studio 2022

Visual Studio Code e l'interfaccia della riga di comando per .NET (strumenti multipiattaforma 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 per .NET. Questi prodotti offrono un'esperienza semplice ed efficace che consente di ottimizzare il flusso di lavoro di sviluppo. Inoltre, Visual Studio Code supporta le estensioni per C# e lo sviluppo Web offrendo IntelliSense e attività di collegamento all'interno dell'editor.

Scaricare .NET SDK

Download di Visual Studio Code

Flusso di lavoro di sviluppo per le app ASP.NET Core ospitate in Azure

Il ciclo di vita dello sviluppo applicativo inizia dal computer di ogni sviluppatore quando l'applicazione viene scritta usando il linguaggio preferito e viene testata in locale. Gli sviluppatori possono scegliere il sistema di controllo del codice sorgente preferito e possono configurare l'integrazione continua (CI) e/o il recapito/distribuzione continua (CD) usando un server di compilazione o in base alle funzionalità di Azure predefinite.

Per iniziare a sviluppare un'applicazione ASP.NET Core mediante 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 verrà distribuita l'applicazione. Creare un'app Web passando al pannello Servizi app nel portale di Azure. Fare clic su +Aggiungi, selezionare il modello di app Web, fare clic su Crea e specificare un nome e altri dettagli. L'app Web sarà accessibile da {name}.azurewebsites.net.

AzureWebApp

Figure 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 automatica ogni volta che viene eseguito il commit di nuovo codice nel repository di controllo del codice sorgente del progetto. Questo processo ti consente di verificare immediatamente che il codice venga compilato (e passi i test automatizzati) e possa essere potenzialmente distribuito. Questa compilazione CI produrrà un artefatto del pacchetto di distribuzione Web e lo pubblicherà per l'utilizzo da parte del processo CD.

Definire il processo di compilazione CI

Assicurarsi di abilitare l'integrazione continua in modo che il sistema accodi una compilazione ogni volta che un utente del team esegue il commit di nuovo codice. Testare la compilazione e verificare che produca un pacchetto di distribuzione Web come uno dei relativi artefatti.

Dopo aver eseguito la compilazione, il processo CD distribuirà i risultati della compilazione CI nell'app Web di Azure. Per procedere alla configurazione di questo passaggio, creare e configurare una Versione che verrà distribuita nel servizio app di Azure.

Distribuire un'app Web Azure

Dopo aver configurato la pipeline CI/CD, è possibile effettuare aggiornamenti nell'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 di Azure e il processo CI/CD, lo sviluppo di applicazioni ASP.NET Core ospitate in Azure è semplice. Di seguito sono descritti i passaggi di base che vengono in genere eseguiti durante la compilazione di un'app ASP.NET Core, ospitata nel servizio app di Azure come app Web, come illustrato nella figura 10-2.

EndToEndDevDeployWorkflow

Figura 10-2. Flusso di lavoro dettagliato per la compilazione di app ASP.NET Core e l'hosting in Azure

Passaggio 1: Ciclo interno dell'ambiente di sviluppo locale

Lo sviluppo di un'applicazione ASP.NET Core per la distribuzione in Azure non differisce dalla normale procedura di sviluppo dell'applicazione. Usare l'ambiente di sviluppo locale desiderato, ovvero Visual Studio 2019 o l'interfaccia della riga di comando per .NET e Visual Studio Code o l'editor preferito. È possibile scrivere codice, eseguire ed eseguire il debug delle modifiche, eseguire test automatizzati e commit locali nel controllo del codice sorgente fino a quando non si è pronti per il push delle modifiche nel repository del controllo del codice sorgente condiviso.

Passaggio 2. Repository del codice dell'applicazione

Quando si è pronti per condividere il codice con il proprio team, eseguire il push delle modifiche dal repository del codice sorgente locale al repository del codice sorgente condiviso del team. Se è stato usato un ramo personalizzato, questo passaggio prevede in genere l'unione del codice in un ramo condiviso, ad esempio per mezzo di una richiesta pull.

Passaggio 3. Server di compilazione: integrazione continua. compilazione, test, pacchetto

Per ogni nuovo commit eseguito nel repository di codice dell'applicazione condiviso, nel server di compilazione viene attivata una nuova compilazione. Come parte del processo di integrazione continua (CI), la compilazione deve compilare 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 pacchetto dell'app Web pronta per la distribuzione.

Passaggio 4. Server di compilazione: recapito continuo

Dopo la compilazione, il processo di recapito continuo acquisirà gli artefatti di compilazione generati. Questo processo includerà un pacchetto di distribuzione Web. Il server di compilazione distribuirà il pacchetto nel servizio app di Azure, sostituendo eventuali servizi esistenti con il servizio appena creato. Sebbene questo passaggio sia in genere destinato a un ambiente di gestione temporanea, alcune applicazioni eseguono la distribuzione 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 all'interno del contesto di un'app Web del servizio app di Azure. L'app Web può essere monitorata e configurata tramite 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 sul comportamento degli utenti. Application Insights è incluso in Visual Studio e offre strumentazione automatica per le app ASP.NET. Application Insights può offrire informazioni sull'utilizzo, le eccezioni, le richieste, le prestazioni e i log.

Riferimenti

Compilare e distribuire l'app ASP.NET Core in Azure
https://learn.microsoft.com/azure/devops/build-release/apps/aspnet/build-aspnet-core