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 Harsh Mittal
Che cos'è Web Deploy?
Web Deploy è uno strumento estendibile client-server per la sincronizzazione del contenuto e della configurazione su IIS. Web Deploy viene usato principalmente in due scenari:
- Gli sviluppatori lo usano per sincronizzare (ovvero "pubblica") applicazioni Web compilate (ASP .Net, PHP e così via) dagli strumenti di sviluppo (Visual Studio, WebMatrix e così via) a IIS
- I professionisti IT lo usano per eseguire la migrazione di siti Web e applicazioni da un sistema operativo che esegue una versione precedente di IIS, ad esempio IIS6, a un sistema operativo che esegue una versione più recente di IIS, ad esempio IIS 7.5.
In che modo la Distribuzione Web si confronta con FTP?
Distribuzione Web viene spesso confrontata con tecnologie come FTP, XCOPY o RoboCopy. Sebbene queste tecnologie siano utili, Web Deploy offre diversi vantaggi.
Di seguito è riportato un confronto tra Web Deploy e FTP:
- Distribuzione Web è più veloce rispetto a FTP. Web Deploy non emette un comando diverso per ogni operazione. Esegue invece un confronto all'inizio della sincronizzazione e trasferisce solo le modifiche.
- La Web Deploy è sicura. Web Deploy supporta il trasferimento tramite HTTPS. Si noti che anche le varianti di FTP, ad esempio SFTP e FTPS, sono sicure.
- Distribuzione Web può impostare descrittori di sicurezza (ACL) nei file e nelle directory di destinazione. Ad esempio, è possibile usare Distribuzione Web per concedere a un utente windows l'accesso specifico alla cartella "Download" dell'applicazione durante la distribuzione.
- Web Deploy può pubblicare database. Web Deploy include il supporto out-of-box per lo scripting di SQL Server, MySQL Server, Sqlite e SQL Server Compact e l'applicazione dello script durante la sincronizzazione. Questo può essere molto utile se un'app necessita di un database per funzionare.
- Web Deploy può applicare trasformazioni durante la distribuzione. È possibile usare Distribuzione Web per modificare una stringa di connessione o un'impostazione dell'applicazione durante una sincronizzazione. Distribuzione Web supporta un'ampia gamma di trasformazioni, inclusa la trasformazione delle impostazioni iis.
- Distribuzione Web si integra con Visual Studio 2010 e WebMatrix.
- Web Deploy è estensibile. Distribuzione Web offre un modello di estendibilità avanzato e accessibile pubblicamente che consente di creare nuovi scenari.
Come funziona?
La maggior parte delle operazioni di distribuzione Web viene modellata in base all'operazione di sincronizzazione tra un'origine e una destinazione. L'operazione di sincronizzazione viene orchestrata dal framework distribuzione Web usando uno o più provider di distribuzione Web, come descritto di seguito.
Struttura
Web Deploy è costituito da un framework che gestisce lo stato di connessione e orchestra la sincronizzazione tra origine e destinazione. Ad esempio, il framework è responsabile della sincronizzazione di determinati tipi di contenuto, dell'esecuzione di regole e della trasformazione dei file.
Il framework è accessibile tramite un'API pubblica e tramite un eseguibile della riga di comando ,msdeploy.exe.
Providers
Web Deploy può sincronizzare qualsiasi tipo di dati tra due posizioni utilizzando i provider predefiniti collegati al framework. I provider sanno come sincronizzare un particolare tipo di dati tra due origini o recuperare informazioni utili sull'origine dati.
Ad esempio, Distribuzione Web ha un provider che funziona con i database SQL (dbFullSql) in grado di sincronizzare un intero database di SQL Server in un altro server. Altri provider predefiniti sincronizzano i database MySQL (dbMySql), la configurazione di IIS 7 (appHostConfig), gli assembly GAC (gacAssembly) o gli oggetti COM (comObject32/comObject64). Un elenco più completo è disponibile in TechNet.
Il modello di provider è estendibile e consente agli sviluppatori di scrivere i propri provider per Distribuzione Web se devono sincronizzare i dati personalizzati.
Sotto il cofano
Quando un'origine avvia un'azione tramite Distribuzione Web, Web Deploy Framework stabilisce una connessione con la destinazione. Distribuzione Web supporta due endpoint di connessione e quello usato dipende da diversi fattori:
- Se la destinazione è Windows Server 2003 che esegue IIS6, è possibile connettersi al relativo servizio agente di distribuzione Web (noto anche come endpoint del servizio agente remoto). Il servizio Agente remoto garantisce la sicurezza per questa connessione ed è accessibile solo agli utenti amministratori.
- Se la destinazione è Windows Server 2008 che esegue IIS7 o Windows Server 2008 R2 che esegue IIS7.5 E ci si connette con credenziali non di amministratore, è necessario connettersi all'endpoint del servizio di gestione Web. Distribuzione Web installa un gestore nel servizio di gestione Web, che consente agli utenti non amministratori di eseguire la distribuzione dopo l'autenticazione e l'autorizzazione con il servizio di gestione Web.
- Se la destinazione è Windows Server 2008 che esegue IIS7 o Windows Server 2008 R2 che esegue IIS7.5 E ci si connette con credenziali di amministratore, è possibile connettersi a entrambi gli endpoint.
Per altre informazioni
Ti invitiamo a visitare le esercitazioni dettagliate su iis.net e la documentazione TechNet.