Le Azure Web App sono lo strumento principale per la distribuzione di applicativi web sul cloud di Microsoft. Ci sono parecchi metodi per caricare su di esse il nostro applicativo: web deploy, REST e continuos delivery tramite repository esterni come DropBox, Git o Visual Studio Team Services.
Di recente è stata introdotta la possibilità di eseguire la nostra app senza un effettivo deployment, facendolo puntare la web app ad un file Zip remoto. Ipotizziamo quindi di preparare le nostre pagine HTML e di creare un unico file che contenga tutto il necessario, anche sfruttando la funzione publish di .NET, per esempio. Possiamo caricare il file online, come per esempio su Azure Storage che si presta bene anche per nascondere i file e renderli accessibili tramite firma.
Successivamente non ci resta che aprire le impostazioni dell'app e aggiungere una chiave speciale WEBSITE_USE_ZIP, come mostrato nell'immagine.
Fatto questo, il classico percorso d:\home\wwwroot viene sostituito puntando al file remoto. Questo porta alcuni vantaggi:
- Atomicità nella distribuzione: non corriamo rischi di lock di file, di conflitti e non dobbiamo gestire la cancellazione di file addizionali. Cambiando il percorso tutto l'applicativo punta al nuovo file;
- Versionamento facilitato: è sufficiente cambiare l'indirizzo e in un attimo possiamo cambiare la versione corrente dell'applicativo.
Questa funzionalità non preclude le altre. Ad eccezione del percorso prima citato, le altre cartelle rimangono in scrittura e ogni caratteristica configurabile rimane funzionante.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eseguire attività con Azure Container Jobs
Usare le variabili per personalizzare gli stili CSS
Utilizzare un service principal per accedere a Azure Container Registry
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Verificare la provenienza di un commit tramite le GitHub Actions
Utilizzare database e servizi con gli add-on di Container App
Sfruttare lo streaming di una chiamata Http da Blazor
Creare gruppi di client per Event Grid MQTT
Applicare il versioning ai nostri endpoint ASP.NET Core Minimal API
Sfruttare al massimo i topic space di Event Grid MQTT
Trasformare qualsiasi backend in un servizio GraphQL con Azure API Management
Eseguire query manipolando liste di tipi semplici con Entity Framework Core