Download - The Demise of Xcopy Deployment

Transcript
Page 1: The Demise of Xcopy Deployment

The Demise of Xcopy Deployment

David Truxall, Ph.D.

Page 2: The Demise of Xcopy Deployment

MSDeploy

One-Click Publish

Page 3: The Demise of Xcopy Deployment

Who Am I?

www.davidtruxall.com/

Developer – Troubleshooter – Trainer - Consultant

@davetrux

Page 4: The Demise of Xcopy Deployment

Agenda

• About MSDeploy• IIS Console• Visual Studio 2010• Command-Line

Page 5: The Demise of Xcopy Deployment

MSDeploy

One-Click Publish

Page 6: The Demise of Xcopy Deployment

Why MSDeploy?

IIS 6 IIS 7

Page 7: The Demise of Xcopy Deployment

Where do I get it?

• Web Platform Installer• Separate download• Visual Studio 2010

Page 8: The Demise of Xcopy Deployment

Architecture

• Provider Based

• Package• Deploy• Synchronize

Page 9: The Demise of Xcopy Deployment

Verbs• dump• sync• delete• getDependencies• getParameters• getSystemInfo

Page 10: The Demise of Xcopy Deployment

MSDeploy Process

IIS

PackageFile

MSDeploy Create thePackage

MSDeploy

IIS

VS 2010

Command-line

PowerShell

Page 11: The Demise of Xcopy Deployment

Deployment• Using IIS Manager UI • Using command file created by Visual Studio 10 • Using command line using MSDeploy.exe • Using Power Shell support provided by MS Deploy • Using managed APIs provided by MS Deploy

Page 12: The Demise of Xcopy Deployment

Create the Package

Page 13: The Demise of Xcopy Deployment

Deploy the Package

Page 14: The Demise of Xcopy Deployment

Providers

CertificatesCOM objects

File System GAC

Machine Config

App PoolsACLs

IIS

SQL Server

MySQL

Registry

Custom

Page 15: The Demise of Xcopy Deployment

Integrates with IIS Console

• UI• Import/Export– Synchronization– Migration

Remember Today’s Password: Elastic Syntax

Page 16: The Demise of Xcopy Deployment

Agent Service

Page 17: The Demise of Xcopy Deployment

IIS Demo

Page 18: The Demise of Xcopy Deployment

Visual Studio 2010

Page 19: The Demise of Xcopy Deployment

Managing Web.config

• Transformation– Connection strings– Custom errors

• At Publish, not at Build

Page 20: The Demise of Xcopy Deployment

Publishing

• Offline• Online

Page 21: The Demise of Xcopy Deployment

Package

• Manifest• Contents

Page 22: The Demise of Xcopy Deployment

VS 2010 Demo

Page 23: The Demise of Xcopy Deployment

Command-Line

msdeploy.exe -verb:<verbName> -source:<provider>[=<pathToProviderObject> [,<providerSetting>=<providerSettingValue>]] [-dest:<provider>[=<pathToProviderObject> [,<providerSetting>=<providerSettingValue>]] ] [-<MSDeployOperationSetting> ...]

Page 24: The Demise of Xcopy Deployment

Command-Line Demo

Page 25: The Demise of Xcopy Deployment

Continuous Integration

<Exec Command='"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe"

-verb:sync -source:contentpath="$(DropLocation)\$(BuildNumber)\Release\Site" -dest:contentpath=\\TESTSERVER\Site' ContinueOnError="false" />

Page 26: The Demise of Xcopy Deployment

Building A Dev Server

• Configure IIS Management Service• Open firewall port (8172)• Install MSDeploy

Page 27: The Demise of Xcopy Deployment

PowerShell in Action

Page 28: The Demise of Xcopy Deployment

Thanks!

[email protected]

www.davidtruxall.com

@davetrux

www.linkedin.com/in/davetrux

Slideshare.net/davetrux