Domanda

Sai, la prossima cosa "grande" e "aziendale" di Microsoft.

Sono solo io o è davvero difficile per gli umani?I punti salienti sono (IMO):

  • Sintassi assolutamente criptica (-skip:objectName=filePath,absolutePath=App_Offline.* solo per aver saltato App_Offline.html)
  • Manifestare come un ripensamento
  • Mancanza di documentazione approfondita
  • Non una parola sull'estensibilità (ad eccezione di diversi post sul blog là fuori).Inoltre, tutte queste estensioni sviluppate con grande fatica devono essere registrate nel GAC E registro
  • Mooolto livello troppo basso (metadati/metakey;tutto questo jazz dell'IIS)
  • Nessuna integrazione con MSBuild

Certo, MSDeploy e MSDeployAgent sono piuttosto potenti, ma è davvero necessario che lo siano Quello complesso per compiti relativamente semplici?

È stato utile?

Soluzione

Anch'io condivido le tue frustrazioni per la mancanza di documentazione e l'apparente natura di basso livello di questo strumento.

Tuttavia, ciò che MS ha fatto è finalmente creare uno strumento gratuito con il quale è possibile effettivamente creare script per intere distribuzioni di server, inclusa la parametrizzazione di indirizzi, configurazioni, ecc.Sfortunatamente questa è una cosa molto complicata da fare, dato il numero di bit di configurazione effettivamente inseriti in un server web, e questo è probabilmente il modo migliore per fare tutto.

Ciò di cui abbiamo bisogno ora è una GUI davvero buona che possa aiutare a creare questi pacchetti, script, ecc.La GUI incorporata in IIS è buona, ma ancora una volta, con poche spiegazioni, quindi spero che presto venga risolta.

Dal punto di vista funzionale, al momento sto utilizzando un sito da cui distribuire dev -> staging -> live con parametri per modificare gli indirizzi IP associati, ecc.Ero profondamente frustrato dal fatto che mi ci fossero voluti alcuni giorni per far funzionare tutto, tuttavia ora che ce l'ho, posso rimuovere molti dei possibili errori umani dal lato del supporto IT, che è responsabile delle nostre implementazioni.Ora devo preoccuparmi solo della configurazione del mio server di staging principale e posso essere sicuro che tutti i server nella web farm verranno mantenuti sincronizzati ogni volta che eseguo la distribuzione.

Come menziona Sayed, inoltre, nel 2010 ci sono attività di MSBuild (la funzionalità di distribuzione del sito Web è ora implementata utilizzando msdeploy) per lavorare con questo, il che offre anche la possibilità di un vero ambiente di integrazione continua a VSTeamSystem, con un team build che può effettivamente eseguire una distribuzione web completa poiché il suo ultimo passaggio è molto emozionante (e spaventoso, garantito!).

Altri suggerimenti

In realtà ci sono attività MSBuild per MSDeploy.Verranno forniti con .NET 4/Visual Studio 2010.

Anche se un po' approssimativo, ho imparato ad apprezzare parecchio MSDeploy.Utilizzarlo per sincronizzare i server Web in una farm è molto utile in quanto è efficiente (copia solo le modifiche) e si occupa delle impostazioni IIS effettive oltre ai file di contenuto.Sembra che MSDeploy sia un elemento fondamentale per vari scenari e usi.Inoltre, come accennato in precedenza, è disponibile un'attività MSBuild per MSDeploy in .NET 4.Ho approfittato di questa attività di MSBuild per rendere banalmente semplice la distribuzione delle mie applicazioni Web da TeamCity.L'ho scritto sul blog qui:

Distribuzione Web (distribuzione MS) da TeamCity - http://www.geekytidbits.com/web-deploy-ms-deploy-from-teamcity/

Recentemente ho iniziato a implementare una pipeline di distribuzione e ho trovato i collegamenti seguenti molto utili:

Inoltre ho utilizzato questi riferimenti:

  • Video su MSBuild su dnrtv.com
  • Libro Microsoft Press intitolato "All'interno del motore di compilazione Microsoft®:Utilizzo di MSBuild e Team Foundation Build" che puoi acquistare in versione PDF da Oreilly

Infine, il libro "Consegna continua" mi ha dato buone idee sulla pipeline di distribuzione, sebbene il libro non si concentri su MSDeploy, ma vale davvero la pena leggerlo.

La dichiarazione della documentazione è tipica di un prodotto MSFT 1.0, sfortunatamente MSDN non ha più ingegneri tecnologici dedicati agli sviluppatori per colmare le lacune --- invece, c'è una fede cieca che il web la fornirà.

In realtà sto pensando di rispolverare le mie capacità di scrittura e scriverci un breve ebook poiché probabilmente c'è un mercato per questo....

Msdeploy ha sicuramente un tocco di PowerShell:potere sulla semplicità piuttosto che peggio è meglio.

Non esiste un'alternativa Windows, tuttavia puoi ibridare alcuni dei suoi poteri per effettuare distribuzioni automatizzate.Per esempio:

  • Compila la tua soluzione con Team City e msbuild
  • Utilizza msdeploy per trasformare il tuo sito e web.configs sul server di compilazione
  • FTP manualmente un file ZIP del tuo sito (non supporta FTP)
    • In alternativa, utilizza le sue funzionalità di distribuzione remota.Ciò richiede l'apertura della porta 8172, molte modifiche alla sicurezza e, per quanto ne so, nessuna concessione per il bilanciamento del carico
  • Utilizza msdeploy sul sito live per sincronizzare le modifiche

Come strumento è chiaramente rivolto ai fornitori di servizi poiché è un enorme coltellino svizzero.Con esso puoi fare tutti i tipi di cose su IIS, che per la maggior parte sono eccessive per le piccole imprese.Non ho esperienza con configurazioni IIS su larga scala, quindi forse è qui che brilla.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top