Le Azure Functions sono l'implementazione Microsoft della cosiddetta architettura serverless e ci permettono di sviluppare funzioni indipendenti con un'estrema scalabilità. Di recente è stata introdotta la possibilità di sviluppare funzioni direttamente con Visual Studio 2017 con un progetto apposito che in fase di compilazione produce i file host.json e functions.json necessari per poter essere pubblicati.
Viene naturale quindi pensare di inserire questo tipo di progetto, disponibile in Visual Studio, in un meccanismo di continuos delivery, sfruttando strumenti che automatizzano la compilazione e la pubblicazione su Azure.
Visual Studio Team Services è lo strumento che ci permette di realizzare tutto questo ed è in grado anche di compilare funzioni e caricarle sul cloud. Quello che dobbiamo fare è recarci nella sezione build di VSTS e preparare una nuova definizione, facendo attenzione di partire con un template già fatto, nello specifico ASP.NET Core (.NET Framework).

Con questa tipologia disponiamo di quello che serve e dell'agent per Visual Studio 2017 per produrre un file zip contenente il tutto. Le Azure Functions infatti non si differenziano molto da una normale web app, nel processo di deployment. Aggiungiamo in coda, anche se sarebbe più opportuno avere una definizione di release, un task di tipo Azure App Service Deploy. Impostiamo sottoscrizione e nome dell'App Service facendo attenzione a dove prelevare lo zip da distribuire.

Nel caso corrente usiamo direttamente il risultato prodotto negli artifact. Non ci resta che avviare la build, manualmente oppure agganciandola ai commit del codice sorgente. Terminato il processo troveremo pubblicate le nostre funzioni.

Da notare che le funzioni sono in modalità di sola lettura per evitare di cambiarle, dato che il codice sorgente si trova su VSTS.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Creare una libreria CSS universale: Nav menu
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Cambiare la chiave di partizionamento di Azure Cosmos DB
Simulare Azure Cosmos DB in locale con Docker
Ordinare randomicamente una lista in C#
Gestire il colore CSS con HWB
Potenziare la ricerca su Cosmos DB con Full Text Search
Gestione degli stili CSS con le regole @layer
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Filtering sulle colonne in una QuickGrid di Blazor
Managed deployment strategy in Azure DevOps
Ottimizzazione dei block template in Angular 17