Esercitazione: Eseguire la distribuzione in App contenitore di Azure con Visual Studio

App Contenitore di Azure consente di eseguire microservizi e applicazioni in contenitori in una piattaforma serverless. Con App contenitore si possono sfruttare i vantaggi dell'esecuzione di contenitori, senza doversi preoccupare della configurazione manuale dell'infrastruttura del cloud e di agenti di orchestrazione complessi.

In questa esercitazione si distribuirà un'applicazione ASP.NET Core 8.0 in contenitori di Azure con Visual Studio. I passaggi seguenti si applicano anche alle versioni precedenti di ASP.NET Core.

Prerequisiti

  • È richiesto un account Azure con una sottoscrizione attiva. Se non è già disponibile, è possibile creare un account gratuitamente.
  • Visual Studio 2022 versione 17.2 o successiva, disponibile come download gratuito.

Creare il progetto

Per iniziare, creare l'applicazione core in contenitori ASP.NET.

  1. In Visual Studio selezionare File e quindi scegliere Nuovo => Progetto.

  2. Nella finestra di dialogo cercare ASP.NET, quindi scegliere ASP.NET Core Web App e selezionare Avanti.

  3. Nel campo Nome progetto assegnare all'applicazione il nome MyContainerApp e quindi selezionare Avanti.

  4. Nella schermata Informazioni aggiuntive assicurarsi di selezionare Abilita Docker e quindi assicurarsi che Linux sia selezionato per l'impostazione del sistema operativo Docker. App Azure Container attualmente non supporta i contenitori Windows. Questa selezione garantisce che il modello di progetto supporti la containerizzazione per impostazione predefinita. Durante l'abilitazione, il progetto usa un contenitore durante l'esecuzione o la compilazione.

  5. Fare clic su Crea e Visual Studio crea e carica il progetto.

Screenshot che mostra l'abilitazione di Docker.

Eseguire la distribuzione in App contenitore di Azure

L'applicazione include un Dockerfile perché il modello di progetto ha selezionato l'impostazione Abilita Docker . Visual Studio usa il Dockerfile per compilare l'immagine del contenitore eseguita dalle app di Azure Container.

Per altre informazioni sulle specifiche di questo processo, vedere Come Visual Studio compila app in contenitori.

A questo punto è possibile eseguire la distribuzione nell'applicazione in App contenitori di Azure.

Creare le risorse

Le finestre di dialogo di pubblicazione in Visual Studio consentono di scegliere le risorse di Azure esistenti o di crearne di nuove per la distribuzione. Questo processo compila anche l'immagine del contenitore, esegue il push dell'immagine in Registro Azure Container (Registro Azure Container) e distribuisce la nuova immagine dell'app contenitore.

  1. Fare clic con il pulsante destro del mouse sul nodo del progetto MyContainerApp e scegliere Pubblica.

  2. Nella finestra di dialogo scegliere Azure dall'elenco delle opzioni di pubblicazione e quindi selezionare Avanti.

    Screenshot che mostra la pubblicazione in Azure.

  3. Nella schermata Destinazione specifica scegliere App Azure Container (Linux) e quindi selezionare di nuovo Avanti .

    Screenshot che mostra l'opzione App contenitore selezionata.

  4. Creare quindi un'app contenitore di Azure per ospitare il progetto. Selezionare l'icona del segno più verde a destra per aprire la finestra di dialogo Crea nuovo. Nella finestra di dialogo Crea nuovo immettere i valori seguenti:

    • Nome app contenitore: immettere un nome .msdocscontainerapp
    • Nome sottoscrizione: scegliere la sottoscrizione in cui si vuole ospitare l'app.
    • Gruppo di risorse: un gruppo di risorse funge da contenitore logico per organizzare le risorse correlate in Azure. È possibile selezionare un gruppo di risorse esistente oppure selezionare Nuovo per crearne uno con il nome scelto, ad esempio msdocscontainerapps.
    • Ambiente app contenitore: ambiente app contenitore: ogni app contenitore deve far parte di un ambiente dell'app contenitore. Un ambiente fornisce una rete isolata per una o più app contenitore, consentendo loro di richiamarsi facilmente tra loro. Fare clic su Nuovo per aprire la finestra di dialogo Crea nuovo per l'ambiente dell'app contenitore. Lasciare i valori predefiniti e selezionare OK per chiudere la finestra di dialogo dell'ambiente.
    • Nome contenitore: nome descrittivo del contenitore eseguito per questa app contenitore. Usare il nome msdocscontainer1 per questa guida introduttiva. Un'app contenitore esegue in genere un singolo contenitore, ma in alcuni casi è necessario avere più contenitori. Un esempio è quando è necessario un contenitore sidecar per eseguire un'attività, ad esempio la registrazione specializzata o le comunicazioni.

    Screenshot che mostra come creare nuove app contenitore.

  5. Selezionare Crea per finalizzare la creazione o l'app contenitore. Visual Studio e Azure creano le risorse necessarie per conto dell'utente. Questo processo può richiedere alcuni minuti, quindi consentire l'esecuzione fino al completamento prima di procedere.

  6. Dopo aver creato le risorse, scegliere Avanti.

    Screenshot che mostra come selezionare la risorsa creata.

  7. Nella schermata Registro di sistema è possibile selezionare un Registro di sistema esistente, se disponibile, oppure crearne uno nuovo. Per crearne uno nuovo, fare clic sull'icona verde + a destra. Nella schermata Crea nuovo Registro di sistema immettere i valori seguenti:

    • Prefisso DNS: immettere un valore o msdocscontainerregistry un nome scelto.
    • Nome sottoscrizione: selezionare la sottoscrizione da usare. Potrebbe essere necessario sceglierne solo uno.
    • Gruppo di risorse: scegliere il gruppo di risorse msdocs creato in precedenza.
    • Sku: selezionare Standard.
    • Posizione del Registro di sistema: selezionare un'area geograficamente vicina all'utente.

    Screenshot che mostra come creare il registro contenitori.

  8. Dopo aver popolato questi valori, selezionare Crea. Visual Studio e Azure richiedono qualche minuto per creare il Registro di sistema.

  9. Dopo aver creato il registro contenitori, assicurarsi che sia selezionato e quindi scegliere Fine. Visual Studio richiede qualche minuto per creare il profilo di pubblicazione. Questo profilo di pubblicazione è la posizione in cui Visual Studio archivia le opzioni di pubblicazione e le risorse scelte in modo da poter pubblicare di nuovo rapidamente ogni volta che si desidera. È possibile chiudere la finestra di dialogo al termine.

    Screenshot che mostra come selezionare il Registro di sistema creato.

Pubblicare l'app con Visual Studio

Mentre vengono create le risorse e il profilo di pubblicazione, è comunque necessario pubblicare e distribuire l'app in Azure.

Scegliere Pubblica in alto a destra nella schermata del profilo di pubblicazione per la distribuzione nell'app contenitore creata in Azure. Questo processo potrebbe richiedere qualche minuto, quindi attendere il completamento.

Screenshot che mostra come pubblicare l'app.

Al termine della distribuzione dell'app, Visual Studio apre un browser all'URL del sito distribuito. Questa pagina potrebbe inizialmente visualizzare un errore se tutte le risorse appropriate non completano il provisioning. È possibile continuare ad aggiornare periodicamente il browser per verificare se la distribuzione viene completata completamente.

Screenshot che mostra il sito pubblicato.

Pubblicare l'app con GitHub Actions

Le app contenitore possono essere distribuite anche tramite CI/CD tramite GitHub Actions. GitHub Actions è uno strumento potente per automatizzare, personalizzare ed eseguire flussi di lavoro di sviluppo direttamente tramite il repository GitHub del progetto.

Se Visual Studio rileva che il progetto che si sta pubblicando è ospitato in GitHub, il flusso di pubblicazione presenta un passaggio del tipo di distribuzione aggiuntivo. Questa fase consente agli sviluppatori di scegliere se pubblicare direttamente tramite Visual Studio usando i passaggi illustrati in precedenza nella guida introduttiva o tramite un flusso di lavoro di GitHub Actions.

Screenshot che mostra il tipo di distribuzione.

Se si seleziona il flusso di lavoro di GitHub Actions, Visual Studio crea una cartella .github nella directory radice del progetto, insieme a un file YAML generato al suo interno. Il file YAML contiene configurazioni di GitHub Actions per compilare e distribuire l'app in Azure ogni volta che si esegue il push del codice.

Dopo aver apportato una modifica ed eseguito il push del codice, è possibile visualizzare lo stato di avanzamento del processo di compilazione e distribuzione in GitHub nella scheda Azioni . Questa pagina fornisce log e indicatori dettagliati relativi allo stato di avanzamento e all'integrità del flusso di lavoro.

Screenshot che mostra GitHub actions.

Il flusso di lavoro è completo quando viene visualizzato un segno di spunta verde accanto ai processi di compilazione e distribuzione. Quando si passa al sito App contenitore, verranno visualizzate le modifiche più recenti applicate. È sempre possibile trovare l'URL per l'app contenitore usando la pagina portale di Azure.

Pulire le risorse

Se non si prevede più di usare questa applicazione, è possibile eliminare l'istanza di App Azure Container e tutti i servizi associati rimuovendo il gruppo di risorse.

Per rimuovere le risorse create, seguire questa procedura nel portale di Azure:

  1. Selezionare il gruppo di risorse msdocscontainerapps nella sezione Panoramica .
  2. Selezionare il pulsante Elimina gruppo di risorse nella parte superiore della pagina di Panoramica del gruppo di risorse.
  3. Immettere il nome del gruppo di risorse msdocscontainerapps nella finestra di dialogo di conferma "my-container-apps".
  4. Selezionare Elimina.
    Il completamento del processo di eliminazione del gruppo di risorse potrebbe richiedere alcuni minuti.

Suggerimento

Problemi? Segnalare i problemi su GitHub aprendo un ticket nel repository App contenitore di Azure.

Passaggi successivi