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
Sfruttare al massimo i topic space di Event Grid MQTT
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Configurare e gestire sidecar container in Azure App Service
Utilizzare il trigger SQL con le Azure Function
Path addizionali per gli asset in ASP.NET Core MVC
Supportare la sessione affinity di Azure App Service con Application Gateway
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Eliminare una project wiki di Azure DevOps
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary