The Demise of Xcopy Deployment
-
Upload
david-truxall -
Category
Education
-
view
1.594 -
download
4
description
Transcript of The Demise of Xcopy Deployment
The Demise of Xcopy Deployment
David Truxall, Ph.D.
MSDeploy
One-Click Publish
Who Am I?
www.davidtruxall.com/
Developer – Troubleshooter – Trainer - Consultant
@davetrux
Agenda
• About MSDeploy• IIS Console• Visual Studio 2010• Command-Line
MSDeploy
One-Click Publish
Why MSDeploy?
IIS 6 IIS 7
Where do I get it?
• Web Platform Installer• Separate download• Visual Studio 2010
Architecture
• Provider Based
• Package• Deploy• Synchronize
Verbs• dump• sync• delete• getDependencies• getParameters• getSystemInfo
MSDeploy Process
IIS
PackageFile
MSDeploy Create thePackage
MSDeploy
IIS
VS 2010
Command-line
PowerShell
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
Create the Package
Deploy the Package
Providers
CertificatesCOM objects
File System GAC
Machine Config
App PoolsACLs
IIS
SQL Server
MySQL
Registry
Custom
Integrates with IIS Console
• UI• Import/Export– Synchronization– Migration
Remember Today’s Password: Elastic Syntax
Agent Service
IIS Demo
Visual Studio 2010
Managing Web.config
• Transformation– Connection strings– Custom errors
• At Publish, not at Build
Publishing
• Offline• Online
Package
• Manifest• Contents
VS 2010 Demo
Command-Line
msdeploy.exe -verb:<verbName> -source:<provider>[=<pathToProviderObject> [,<providerSetting>=<providerSettingValue>]] [-dest:<provider>[=<pathToProviderObject> [,<providerSetting>=<providerSettingValue>]] ] [-<MSDeployOperationSetting> ...]
Command-Line Demo
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" />
Building A Dev Server
• Configure IIS Management Service• Open firewall port (8172)• Install MSDeploy
PowerShell in Action
Thanks!
www.davidtruxall.com
@davetrux
www.linkedin.com/in/davetrux
Slideshare.net/davetrux