app always works on this person’s box is fast, smart & loves to code… gets a cool idea on...

33
Web Deployment Painkillers Vishal R. Joshi http://bit.ly/vijoshi | @vishalrjoshi Web Platform & Tools, Microsoft FT56 M S Deploy VS 2010

Upload: charlene-boyd

Post on 18-Jan-2016

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

Web Deployment Painkillers

Vishal R. Joshihttp://bit.ly/vijoshi | @vishalrjoshiWeb Platform & Tools, Microsoft

FT56

MS Deploy

VS 2010

Page 2: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

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...

Page 3: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

Productive &Knowledgeab

le

Methodical &

Conscious

Business Analyst QADeveloper IT Admin

Through &Detailed

Demanding&

Detached

Cast of Characters

Kim Bill John Alex

Page 4: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

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

Page 5: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

Deployment Environments

Debug

Testing

StagingPre-Prod

Production

Page 6: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

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

Page 7: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

Deploy Environment: Demo/Debug Server

Demo – 1

Get the App

Deployed

Page 8: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

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

Page 9: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

Deploy Destination: Testing Server

Demo – 2

Team Build Packaging

Page 10: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

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

Page 11: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

Deploy Destination: Staging Server

Demo – 3

Customizing for

Staging

Page 12: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

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

Page 13: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

Deploy Destination: Testing Server

Demo – 4

Database Projects +

One Click Publish

Page 14: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

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

Page 15: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

announcing

Premier Invitation...

Free VS 2010 One Click Publish

Hosting Accounts…

Page 16: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

FREE ASP.NET 4 & MS Deploy Hosting

http://bit.ly/DiscountASP

http://bit.ly/OrcsWeb

http://bit.ly/MaximumASP

http://bit.ly/AppliedInnovations

Page 17: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

question & answer

Page 18: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

YOUR FEEDBACK IS IMPORTANT TO US!

Please fill out session evaluation

forms online atMicrosoftPDC.com

Page 19: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

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….

Page 20: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

© 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.

Page 21: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

Alternate Ending…

Page 22: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

Server Dev Box

Web Deployment Story - Today

Web Application

Copy WebPublish Web

Page 23: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

Web Config Transformation

Web.Staging.Config

XML Transformation Engine

(Staging Ready)

Outputted to OBJ\staging folder of your

project

Page 24: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

Transformation Concepts

Web.Staging.Config

XML Transformation Engine

(Staging Ready)

Page 25: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

Web Deployment w/ VS10

Dev Environment Server Environment

MS DEPLOY

Page 26: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

Local Server

Data Flow Diagram

Pckg Install Command

Dev Box

Pckg Install Command

Page 27: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

Dev Box

Other Providers

IIS Provider

DB Provider

Web ContentProvider

Your customProvider

Custom Asset

Engine

Vishal R Joshi

Page 28: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

Web Server

Other Providers

IIS Provider

DB Provider

Web ContentProvider

Your customProvider

Custom Asset

Engine

Vishal R Joshi

Page 29: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

Schema

Data

Custom

Scripts

DB Deployment

Page 30: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

Remote Server

Local Server

Data Flow Diagram

Pckg Install Command

Dev Box

Pckg Install Command

Page 31: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

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

Page 32: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app

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

Page 33: App always works on this person’s box Is fast, smart & loves to code… Gets a cool idea on Team Building App... May invite people to see the cool app