Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
di Jason Lee
Questa esercitazione descrive come soddisfare molte delle sfide che si verificheranno quando si gestisce la distribuzione di applicazioni Web su scala aziendale in ambienti di sviluppo, test, gestione temporanea e produzione. L'esercitazione include una soluzione di riferimento insieme a una combinazione di contenuti concettuali e orientati alle attività per guidare le varie attività e procedure comuni.
Per una traduzione italiana di queste esercitazioni, visitare http://www.lucamorelli.it.
Problemi di distribuzione aziendale
Le organizzazioni spesso riscontrano queste sfide quando cercano di gestire la distribuzione di soluzioni complesse su scala aziendale:
- È necessario essere in grado di distribuire progetti in più ambienti, ad esempio ambienti di sviluppo o test, piattaforme di gestione temporanea e server di produzione. La soluzione deve essere distribuita con impostazioni di configurazione diverse per ogni ambiente.
- È necessario distribuire più progetti dipendenti contemporaneamente come parte di un processo di compilazione e distribuzione automatizzato in un unico passaggio.
- È necessario essere in grado di guidare la distribuzione da un processo automatizzato. Ad esempio, si vuole usare un processo di integrazione continua (CI) per distribuire applicazioni Web in un ambiente di test quando viene archiviato un nuovo codice.
- È necessario essere in grado di controllare il processo di distribuzione e impostare le variabili di distribuzione dall'esterno di Visual Studio, perché è improbabile che gli sviluppatori abbiano le impostazioni di configurazione corrette o le credenziali necessarie per ogni ambiente di destinazione.
- È necessario distribuire progetti di database basati su schema e conservare i dati esistenti nelle distribuzioni successive.
- È necessario distribuire i database di appartenenza su base ad hoc senza distribuire i dati dell'account utente. Potrebbe anche essere necessario aggiornare lo schema dei database di appartenenza distribuiti senza perdere i dati dell'account utente esistenti.
- È necessario escludere determinati file o cartelle quando si distribuisce il contenuto in vari ambienti di destinazione.
Panoramica dell'approccio
Questa esercitazione, insieme alle altre esercitazioni di questa serie, usa questo approccio generale per soddisfare le sfide descritte in precedenza.
- Usare file di progetto personalizzati Microsoft Build Engine (MSBuild) per controllare il processo complessivo di compilazione e distribuzione.
- In questo modo è possibile compilare e distribuire ogni progetto nella soluzione come parte di una singola operazione scriptable.
- Le impostazioni specifiche dell'ambiente vengono configurate usando semplici file di progetto specifici dell'ambiente. A differenza dell'approccio incentrato su Visual Studio dell'uso delle configurazioni della soluzione e della pubblicazione dei profili per configurare le distribuzioni per ambienti diversi, questo approccio consente di configurare e gestire il processo di distribuzione dall'esterno di Visual Studio. Ciò significa che gli sviluppatori non devono conoscere in anticipo le stringhe di connessione, gli endpoint di servizio, le credenziali del server e altre variabili di distribuzione per gli ambienti di destinazione.
- I file di progetto personalizzati possono essere richiamati da Team Build come parte di un flusso di lavoro di Team Foundation Server (TFS). In questo modo è possibile configurare la distribuzione automatica per gli scenari di integrazione continua.
Usare lo strumento di distribuzione Web IIS (Internet Information Services) (Distribuzione Web) per creare un pacchetto e distribuire progetti di applicazioni Web.
- Distribuzione Web offre un framework che consente di creare un pacchetto e distribuire il contenuto dell'applicazione Web in un server Web IIS di destinazione, insieme a dipendenze, impostazioni di configurazione, impostazioni di sicurezza e altri requisiti.
- È possibile controllare l'intero processo di creazione di pacchetti e distribuzione dall'interno dei file di progetto MSBuild personalizzati. È anche possibile modificare le impostazioni di configurazione che accompagnano il pacchetto di distribuzione Web, ad esempio stringhe di connessione, endpoint servizio e dettagli di destinazione IIS.
- Distribuzione Web, insieme alla pipeline di pubblicazione Web, offre numerosi punti di estendibilità che consentono di personalizzare le distribuzioni. Ad esempio, è facile escludere file e cartelle indesiderati dai pacchetti di distribuzione Web.
Usare l'utilità VSDBCMD.exe per distribuire e aggiornare gli schemi del database.
- VSDBCMD consente di distribuire database da un file di schema del database (con estensione dbschema), generato quando si compila un progetto di database di Visual Studio. Al contrario, la funzionalità di distribuzione del database inclusa in Distribuzione Web è più adatta alla distribuzione di database esistenti da un'istanza di SQL Server locale.
- A differenza delle funzionalità di Visual Studio per la distribuzione di progetti di database, VSDBCMD consente di distribuire gli aggiornamenti differenziali in un database di destinazione esistente. In questo modo è possibile mantenere tutti i dati esistenti durante l'aggiornamento dello schema del database.
- È possibile eseguire comandi VSDBCMD dall'interno dei file di progetto MSBuild personalizzati.
Mappa contenuto
Questa esercitazione include argomenti che rientrano in quattro aree principali.
Questi argomenti introducono la soluzione di riferimento, la soluzione Contact Manager, e descrivono come scaricarla e configurarla nel computer locale:
Questi argomenti illustrano i file di progetto MSBuild, descrivono come creare e usare file di progetto personalizzati ed esaminare il processo di distribuzione per la soluzione Contact Manager:
Questi argomenti descrivono la distribuzione di applicazioni Web, tra cui il funzionamento del processo di compilazione e creazione di pacchetti, il modo in cui il processo di compilazione si integra con la pipeline di pubblicazione Web, come modificare i parametri di distribuzione e come distribuire pacchetti Web negli ambienti di destinazione:
Compilazione e creazione di pacchetti di progetti di applicazione Web
Configurazione dei parametri per la distribuzione di pacchetti Web
La distribuzione di progetti di database descrive le diverse tecniche che è possibile usare per distribuire progetti di database di Visual Studio, insieme ai vantaggi e agli svantaggi di ogni approccio. La creazione e l'esecuzione di un file di comando di distribuzione descrivono come creare un file di comando semplice che incapsula la logica di distribuzione e consente di distribuire soluzioni complesse come processo in un unico passaggio.
Infine, l'installazione manuale dei pacchetti Web conclude l'esercitazione mostrando di importare pacchetti Web in IIS.
Tecnologie chiave
Gli argomenti di questa esercitazione usano principalmente queste tecnologie per gestire la compilazione e la distribuzione:
- Visual Studio 2010
- MSBuild
- IIS 7,5
- Web Deploy 2.0
- Utilità di distribuzione del database VSDBCMD.exe
Altre esercitazioni in questa serie
Questo fa parte di una serie di cinque esercitazioni sulla distribuzione Web su scala aziendale. Queste sono le altre esercitazioni della serie:
- Distribuzione di applicazioni Web in scenari aziendali. Questo contenuto introduttivo fornisce lo sfondo contestuale per la serie di esercitazioni. Descrive lo scenario dell'esercitazione e illustra come le attività e le procedure dettagliate descritte in tutta la serie rientrano in un processo di gestione del ciclo di vita delle applicazioni più ampio.
- Configurazione degli ambienti server per la distribuzione Web. Questa esercitazione descrive come configurare i server Windows per supportare vari scenari di distribuzione, tra cui la distribuzione di pacchetti Web remoti usando il servizio Web Deployment Agent (l'agente remoto) o il gestore distribuzione Web e la distribuzione di database remoti. Fornisce indicazioni sulla scelta del metodo di distribuzione appropriato per il proprio ambiente e descrive come usare Web Farm Framework (WFF) per replicare le applicazioni Web distribuite in tutti i server Web in una server farm.
- Configurazione di Team Foundation Server per la distribuzione Web. Questa esercitazione descrive come configurare TFS per supportare vari scenari di distribuzione, tra cui la distribuzione automatizzata come parte di un processo ci e le distribuzioni attivate manualmente di compilazioni specifiche.
- Distribuzione Web aziendale avanzata. Questa esercitazione descrive come eseguire varie attività di distribuzione più avanzate, ad esempio la personalizzazione delle distribuzioni di database per più ambienti, l'esclusione di file e cartelle dalla distribuzione e la modalità offline delle applicazioni Web durante il processo di distribuzione.