You know, the next “big” and “enterprisey” thing from Microsoft.
Is it just me, or is it really hardly for humans? Main highlights are (IMO):
- Absolutely cryptic syntax (
-skip:objectName=filePath,absolutePath=App_Offline.*just for skippingApp_Offline.html) - Manifest as an after thought
- Lack of thorough documentation
- Not a word about extensibility (except for several blog posts out there). Moreover, all these extensions developed in great pains have to be registered in GAC and registry
- Waaay too low-level (metadata/metakey; all this IIS jazz)
- No integration with MSBuild
Granted, MSDeploy and MSDeployAgent are quite powerful, but do they really need to be that complex for relatively simple tasks?
I too share your frustrations over the lack of documentation and the apparent low-level nature of this tool.
However what MS has done is finally create a free tool with which you can actually script whole server deployments, including parameterising addresses, configurations etc. This is unfortunately a very complicated thing to do – given how many bits of configuration actually go into a web server – and this is probably the best way to do it all.
What we need now is a really good GUI that can help build up these packages, and scripts etc. The GUI that is embedded within IIS is good – but again, short on explanation – so hopefully soon that’ll be addressed.
On the functional side, I’m using at the moment to deploy a site from dev -> staging -> live with parameters to change bound IP addresses etc. I was deeply frustrated that it took me a few days to get it all working – however now I have it, I can remove a lot of the possibly of human error at the IT Support side – who are responsible for our deployments. I now only have the configuration of my master staging server to worry about – and can be sure that all the servers in the web farm will be kept in sync whenever I deploy.
As Sayed mentions, as well, there are MSBuild tasks in 2010 (the Website Deployment feature is now implemented using msdeploy) to work with this – which also brings the possibility of a true Continuous Integration environment to VSTeamSystem – having a team build that can actually perform a full web deployment as its last step is very exciting (and scary, granted!).