Questo articolo è tratto dal libro ASP.NET 4.0 in C# e VB - Guida Completa per lo sviluppatore di Daniele Bochicchio, Cristian Civera, Riccardo Golia e Stefano Mostarda.
Acquista subito la tua copia ad un prezzo vantaggioso!
Tutti i capitoli che abbiamo affrontato finora hanno avuto quale comune denominatore lo sviluppoapplicativo. I linguaggi, la pagina, i controlli, l'accesso ai dati, lo stato, sono tecnologie e tecniche cheservono a questo preciso scopo. Questo capitolo è molto diverso dai precedenti e per certi versi emblematico,poiché rappresenta l'ultima fase del ciclo di vita di un software: il deployment.In realtà, il deployment non è propriamente l'ultimo step, poiché in genere dobbiamo eseguire ancheil tuning nell'ambiente di produzione, ma esso rappresenta comunque l'ultima attività in ordine cronologicoche implica conoscenze di programmazione.
Testare e mettere in linea un'applicazione nasconde molte insidie, soprattutto per quanto riguarda leperformance. Non solo, la modalità di deployment è anche fortemente influenzata dal tipo di sviluppoche abbiamo scelto di seguire.
...omissis...
One-Click Deployment
Il deployment non consiste solo nella copia dei file, ma anche nella creazione dell'ambiente di produzione,modificando i valori nel web.config (stringhe di connessione, thread, ottimizzazioni, ecc.) oconfigurando, ad esempio, la directory virtuale di IIS. Lo stesso discorso vale anche per la creazionedel database e della sua configurazione, che sono compiti fondamentali per il funzionamento dell'applicazione.Queste attività sono quasi sempre gestite manualmente dal sistemista che amministra iserver e da noi sviluppatori.
Tuttavia, la manualità nel deploy è spesso causa di errori, quindi diventa utile uno strumento di automazionedel processo. Per venire incontro a questa esigenza, Microsoft ha introdotto in Visual Studio2010 un nuovo strumento chiamato One-Click Deployment, che permette di creare in modo automaticoun package con tutto ciò che serve alla nostra applicazione per essere trasferita nell'ambiente diproduzione (pagine, assembly, database, ecc). Una volta portato il package sul server di produzione,possiamo utilizzarlo per creare l'applicazione in IIS, il database e tutte le altre risorse necessarie.Vediamo ora come creare un'applicazione e metterla in produzione.
Creare l'applicazione
La prima cosa che dobbiamo tenere presente quando creiamo l'applicazione è che One-ClickDeployment è disponibile solo per progetti web e non per le applicazioni che puntano semplicementea una cartella (web site). Questo significa che siamo obbligati a sviluppare l'applicazione utilizzando ilmodello del code behind. Una volta fatto questo, non vi sono altri accorgimenti da seguire e possiamopassare alla fase di creazione del package di deploy.
Creazione del package
Quando decidiamo di creare il package di deploy per l'ambiente di produzione, la prima cosa chedobbiamo fare è modificare i parametri che cambiano tra ambiente di sviluppo e ambiente di produzione,come la stringa di connessione al database, eventuali puntamenti a cartelle, ecc. Questa operazioneè resa più semplice grazie alla XML Data Transformation per il web.config. Questa tecnicapermette di definire le modifiche da apportare al file di configurazione quando viene costruito ilpackage di deploy ed è spiegata nell'appendice B del libro.
Il secondo passo consiste nella configurazione del package. Nella finestra "Solution Explorer" di VisualStudio dobbiamo cliccare col tasto destro sul nome del progetto e selezionare la voce "Package/Publish Settings". Visual Studio apre le proprietà del progetto e si posiziona automaticamente sul tab"Package/Publish Web" che mostra le opzioni visibili nella figura 24.4.
Figura 24.4: La finestra di configurazione del package.
Come possiamo vedere dalla figura 24.4, abbiamo molte opzioni a disposizione. Nella sezione 1 possiamodecidere a quale configurazione applicare le impostazioni. Le impostazioni direttamente disponibilisono Debug e Release, ma possiamo crearne anche di personalizzate.
Nella sezione 2 possiamo selezionare quali file includere nel package tramite la finestra a cascata. L'impostazionedi default include nel package solo i file necessari per eseguire l'applicazione ma possiamoanche scegliere di includere tutti i file. Tramite le due caselle di spunta possiamo decidere se includerenel package anche i file con i simboli di debug e i file contenuti nella cartella App_Data.
Nella sezione 3 possiamo decidere se includere anche i database nel package. Questa sezione verràapprofondita nel paragrafo dedicato al deploy del database.
Nella sezione 4 possiamo decidere se creare il package come un file ZIP (scelta consigliata) o, semplicemente,creare una cartella con tutti i file. Oltre a questo, possiamo configurare il percorso dove lacartella o il file verranno creati e il percorso dell'applicazione all'interno di IIS, in produzione.
Vediamo ora come configurare anche il deploy del database.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ottenere un token di accesso per una GitHub App
Code scanning e advanced security con Azure DevOps
Generare la software bill of material (SBOM) in GitHub
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Creare un webhook in Azure DevOps
Installare le Web App site extension tramite una pipeline di Azure DevOps
Disabilitare automaticamente un workflow di GitHub (parte 2)
Eseguire una query su SQL Azure tramite un workflow di GitHub
Utilizzare Azure Cosmos DB con i vettori
Triggerare una pipeline su un altro repository di Azure DevOps
Utilizzare Copilot con Azure Cosmos DB
Eseguire i worklow di GitHub su runner potenziati