app always works on this person’s box is fast, smart & loves to code… gets a cool idea on...
TRANSCRIPT
Web Deployment Painkillers
Vishal R. Joshihttp://bit.ly/vijoshi | @vishalrjoshiWeb Platform & Tools, Microsoft
FT56
MS Deploy
VS 2010
One Click Publish with Differential
Sync
Update workflowto get nightly deployments
Web.Debug.Config, . Web.Testing.Config,
Web.Release.Config
MsBuild based Web Publishing Pipeline (WPP)
Web Content,
IIS Settings, Databases,
Registry, etc
Web Farm Deployment
Site/Server Snapshots &
Migration
Consolidated Web
Deployment
Environment Specific
Configurations
Reusable & Simple Web Packages
Extensible & Customizable
Team Build Integration
VS 2010+
MS Deploy
Trailer...
Productive &Knowledgeab
le
Methodical &
Conscious
Business Analyst QADeveloper IT Admin
Through &Detailed
Demanding&
Detached
Cast of Characters
Kim Bill John Alex
Character’s Traits!!
Developer
Bill
• App always works on this person’s box • Is fast, smart & loves to code…
BAKim
• Gets a cool idea on Team Building App...• May invite people to see the cool app
anytime !!
QAJohn
• Finds bugs in Dev’s impeccable code !!• Is always in a rush to see pet bugs fixed…
IT AdminAlex
• Holds the key to kingdom (aka staging, prod)
• Wants to know about the anatomy of the App
Deployment Environments
Debug
Testing
StagingPre-Prod
Production
Time: Project Kick Off + one week
Hey Bill, We have our VP of HR visiting us in couple of days & management’s recommendation is to show him the TeleFun demo. I think the features we have so far are compelling so am super excited about the opportunity, can we possibly set up a demo for day after tomorrow for 3pm? Hi John, Would it be possible for you to take a build from Bill & bless it for the demo?ThanksKim | Business Analyst | Contoso Corporation PS: Where there is Will Bill there is Way
Deploy Environment: Demo/Debug Server
Demo – 1
Get the App
Deployed
Hi Bill, I believe you already should have access to the TFS box can you actually set up nightly builds for TeleFun at some point. I don’t mind the daily frankenstein builds but as we get closer to production it will be much better to have daily drops. Eventually, I am hoping we will set up BVTs and CI too… Microsoft says Team Build is easy but still if you need my help let me know () & I can free up some cycles… !! ThanksJohn | Quality Assurance, Contoso CorporationPerfection is the goal, excellence can be tolerated!!
Time: Project Kick Off + three weeks
Deploy Destination: Testing Server
Demo – 2
Team Build Packaging
Hi Bill & John, I hate to put more work on you but having deployment package with developer settings in Web.config file is prone to error, can you possibly put Staging configuration in TeleFun.zip package? Also one more quick point, although IIS Manager UI is really cool I would like to be able to automate certain steps when I am setting up a fresh VM for Staging. Is there a way I can set up the package from command line?Thanks in advance, Alex | Contoso Corp.
Time: Project Kick Off + four weeks
Deploy Destination: Staging Server
Demo – 3
Customizing for
Staging
Hi Bill & John,
As you know, once we go live next week, we won’t be able to delete the DB anymore. Have you guys tried out the Visual Studio Database Projects for differential DB deployment. Can you quickly verify that your web packages can take differential scripts?
Thanks in advance, Alex | Contoso Corp.
Time: Project Kick Off + six weeks
Deploy Destination: Testing Server
Demo – 4
Database Projects +
One Click Publish
Integrating with Database ProjectsOne Click Publish
Deploy the Demo App
Set up a nightlyBuild + Package
Customize it per Environment
Differential Data + One Click Publish
Web.Config TransformsTransforming custom XMLsDeploy.cmd & SetParameters.xml
Web PackagesIncluding DBIncluding IIS SettingsImport/Export PackageSite/Server PackagesWeb Farm
Configuring Build DefinitionsSetting up nightly buildsSolution File vs Project File builds/p:DeployOnBuild & /p:DeployTarget=
MsDeployPublish
Today's Screenplay
announcing
Premier Invitation...
Free VS 2010 One Click Publish
Hosting Accounts…
FREE ASP.NET 4 & MS Deploy Hosting
http://bit.ly/DiscountASP
http://bit.ly/OrcsWeb
http://bit.ly/MaximumASP
http://bit.ly/AppliedInnovations
question & answer
YOUR FEEDBACK IS IMPORTANT TO US!
Please fill out session evaluation
forms online atMicrosoftPDC.com
Learn More On Channel 9
> Expand your PDC experience through Channel 9
> Explore videos, hands-on labs, sample code and demos through the new Channel 9 training courses
channel9.msdn.com/learnBuilt by Developers for Developers….
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Alternate Ending…
Server Dev Box
Web Deployment Story - Today
Web Application
Copy WebPublish Web
Web Config Transformation
Web.Staging.Config
XML Transformation Engine
(Staging Ready)
Outputted to OBJ\staging folder of your
project
Transformation Concepts
Web.Staging.Config
XML Transformation Engine
(Staging Ready)
Web Deployment w/ VS10
Dev Environment Server Environment
MS DEPLOY
Local Server
Data Flow Diagram
Pckg Install Command
Dev Box
Pckg Install Command
Dev Box
Other Providers
IIS Provider
DB Provider
Web ContentProvider
Your customProvider
Custom Asset
Engine
Vishal R Joshi
Web Server
Other Providers
IIS Provider
DB Provider
Web ContentProvider
Your customProvider
Custom Asset
Engine
Vishal R Joshi
Schema
Data
Custom
Scripts
DB Deployment
Remote Server
Local Server
Data Flow Diagram
Pckg Install Command
Dev Box
Pckg Install Command
Web Publishing Pipeline (WPP)
• Collects Required Files for packaging/publishingCollection
• Changes your app to make it server ready
Transformation
• Outputs your web to desired location e.g. FTP, File System, MSDeploy
Output
Web Publishing Pipeline (WPP)
BuildCollection:
O/P Binaries + PDBs
Collection:Reference
s
Collection:Content
Transformation:
Web.Config
Transformation:
Exclude Files
Transformation:
Pre-Compile
Transformation:
Merge
Output:FTP, FS,
MSDeploy, HTTP
MSDeploy:GAC, COM, Registry
MSDeploy:IIS Settings, Certificates
MSDeploy:DB (Data, Schema, Scripts)
MSDeploy:Create
Manifest
MSDeploy:Package
MSDeploy:Publish