Nel precedente post abbiamo visto come “containerizzare un’App Blazor Server“, vedremo ora come pubblicare con Visual Studio il container su Azure.

In questo articolo:

Creiamo un account gratuito su Azure

Preleviamo il codice

Eseguiamo il codice in Docker Desktop

Pubblichiamo su Azure

Conclusioni

Creiamo un account gratuito su Azure

Se ancora non abbiamo un account su Azure possiamo crearne uno gratuito.

Oltre ad utilizzarlo per il nostro tutorial, l’account gratuito offre i seguenti vantaggi:

  • 12 mesi dei servizi gratuiti più richiesti;
  • €170 di credito per esplorare Azure per 30 giorni;
  • 25+ servizi sempre gratuiti;

Un pacchetto interessante che ci permette di avvicinarci al cloud “gratuitamente” ma ti consiglio comunque di leggere attentamente le condizioni.

Preleviamo il codice

Se hai già sviluppato la tua App e l’hai testata con Docker Desktop puoi procedere oltre, altrimenti ti consiglio di scaricare il progetto BlazingCRM.Docker dal repository di EtabetaWeb su GitHub.

In alto sulla destra, abbiamo il pulsante “Code” che ci permette aprire il progetto direttamente in Visual Studio, altrimenti in GitHub Desktop o di scaricarlo in formato .zip.

Personalmente, utilizzo l’opzione “Open with Visual Studio” che mi premette anche di impostare il repository Git in locale. Se sei interessato ad utilizzare questa opzione devi installare l’estensione “GitHub per Visual Studio“.

Eseguiamo il codice in Docker Desktop

Prima di pubblicare su Azure, accertiamoci che il tutto funzioni in locale. All’apertura del progetto, Visual Studio ci avvisa che sta eseguendo il pull delle immagini necessarie e dopo qualche secondo avrà scaricato il tutto.

Ora, selezionando il pulsante F5 possiamo eseguire la nostra applicazione nel container Docker in locale.

Pubblichiamo su Azure

Per procedere con la pubblicazione del nostro container su Azure, selezioniamo con il tasto destro del mouse il progetto “BlazingCRM.Desktop” in “Esplora soluzioni” e successivamente la voce “Pubblica”.

Selezioniamo la voce “Azure” ed il pulsante “Avanti”.

Nella finestra successiva vi sono i vari servizi sui quali possiamo pubblicare che prevedono le seguenti funzionalità:

  1. Servizi APP di Azure in versione Windows e Linux sono l’ideale per pubblicare un sito web, un back-end per applicazioni mobili o API RESTful. Offrono un servizio di hosting Web completamente gestito.
  2. Contenitore servizio app di Azure è quello che andremo ad utilizzare in quanto permette di pubblicare l’immagine della nostra app comprensiva di tutte le dipendenze previste.
  3. Registro Azure Container è la versione più avanzata per gestire i container. Permette di creare, archiviare, proteggere, replicare le immagini. In genere si utilizza nei casi di applicazioni molto strutturate e suddivise su più container.
  4. Macchina virtuale di Azure permette di creare macchine virtuali, sia Windows che Linux, per avere un server in cloud e gestire tutte le configurazioni autonomamente.


Per pubblicare l’immagine della nostra App, selezioniamo la voce “Contenitore servizio app di Azure

Nel passaggio successivo dovremo selezionare il nostro gruppo di risorse o eventualmente crearne uno selezionando la voce “Crea nuova istanza di Servizio app di Azure…“.

Dopo aver compilato gli appositi campi e selezionato il pulsante crea…

…dovremo proseguire selezionando il pulsante “Avanti”.

Nella finestra successiva ci verrà richiesto di selezionare un registro container o di crearne uno tramite il pulsante “Crea una nuova istanza di Registro Azure Container…

Compiliamo gli appositi campi e selezioniamo il pulsante “Crea”.

Al termine della creazione verranno riepilogati i dati …

… selezionando il tasto “Fine” verrà predisposto l’ambiente per la pubblicazione e riepilogati i dati con il relativo URL del sito. Su questa stessa pagina abbiamo la possibilità di configurare “SignalR” ed eventualmente il recapito continuo.

Selezionato il pulsante “Pubblica” e atteso qualche minuto avremo la nostra applicazione on-line!

Conclusioni

A tutti sarà capitato che nel passaggio dell’applicazione dall’ambiente di sviluppo a quello di produzione si verificano problemi dovuti principalmente a differenze di configurazione o librerie mancanti. Con l’utilizzo dei container questo problema viene risolto offrendo un’ambiente non modificabile che possiamo pubblicare direttamente su Azure con pochi semplici passaggi.