Your SlideShare is downloading. ×
The Demise of Xcopy Deployment
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

The Demise of Xcopy Deployment

1,542
views

Published on

One of the great features of .Net when it first released was Xcopy deployment. No more .dll registrations, just copy the files to the web server. While this was a great feature for Microsoft …

One of the great features of .Net when it first released was Xcopy deployment. No more .dll registrations, just copy the files to the web server. While this was a great feature for Microsoft developers, new problems emerged, specifically around managing web.config. Sections like connection strings and custom errors need to be managed between environments, which meant many copies of the files or scripts to change them. Other necessary steps, like managing permissions and IIS configuration were still outside the Xcopy process. A recent tool, MSDeploy, is now integrated into Visual Studio 2010 and makes managing these issues easier. Besides web.config, MSDeploy also manages file deployments and synchronization, ACLs, and IIS settings. If your deployments have multiple steps, need ReadMe files, or can’t be done by someone outside your team, you need to learn MSDeploy!

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,542
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • PackageDeploySynchronizeIntegrated into VS 2010Integrated into IIS ConsoleCommand-line
  • PackageDeploySynchronizeIntegrated into VS 2010Integrated into IIS ConsoleCommand-line
  • ReadMeBat FilesScreenshotsMultiple web.configs -> xlst
  • Extensible
  • appHostConfig IIS 7 configurationappHostSchema IIS 7 configuration schemaappPoolConfig IIS 7 Application PoolarchiveDir Archive directoryauto Automatic destinationcert CertificatecomObject32 32-bit COM objectcomObject64 64-bit COM objectcontentPath File System ContentcreateApp Defines an application in the IIS configuration system.dbFullSql Deploy SQL databasedbMySql Deploy MySql databasedirPath DirectoryfcgiExtConfig FcgiExt.ini settings or fastCgi section configurationfilePath FilegacAssembly GAC assemblyiisApp Web ApplicationmachineConfig32 NET 32-bit machine configurationmachineConfig64 NET 64-bit machine configurationmanifest Custom manifest filemetaKeyMetabase keypackage .zip file packagerecycleApp Recycles, starts, or stops an application's app pool, or unloads an application's app domains on IIS 7. regKey Registry keyregValue Registry valuerootWebConfig32 NET 32-bit root Web configurationrootWebConfig64 NET 64-bit root Web configurationrunCommand Runs a command on the destination when sync is called.setAcl Grant permissionsurlScanConfig UrlScan.ini settings or request Filtering section configurationwebServerFull IIS 7 Web serverwebServer60 Full IIS 6 Web server
  • When adding the Web Server (IIS) role, be sure to install Management Service.In the Services snap-in, find the Web Management Service and set its startup to Automatic (it’s manual by default). Don’t start it yet. Open the Internet Information Services Manager, and select the server. Open the Management Service feature. Check Enable Remote Connections. Choose a port (or keep the default), IP, Certificate, choose any restrictions you might require. In the Actions part of the right pane, click Apply. Click the Start link in the right pane.
  • Transcript

    • 1. The Demise of Xcopy Deployment
      David Truxall, Ph.D.
    • 2. MSDeploy
      One-Click Publish
    • 3. Who Am I?
      Developer – Troubleshooter – Trainer - Consultant
      @davetrux
      www.davidtruxall.com/
    • 4. Agenda
      About MSDeploy
      IIS Console
      Visual Studio 2010
      Command-Line
    • 5. MSDeploy
      One-Click Publish
    • 6. Why MSDeploy?
      IIS 6
      IIS 7
    • 7. Where do I get it?
      Web Platform Installer
      Separate download
      Visual Studio 2010
    • 8. Architecture
      Provider Based
      Package
      Deploy
      Synchronize
    • 9. Verbs
      dump
      sync
      delete
      getDependencies
      getParameters
      getSystemInfo
    • 10. MSDeploy Process
      IIS
      VS 2010
      Command-line
      PowerShell
      IIS
      Package
      File
      MSDeploy
      Create the
      Package
      MSDeploy
    • 11. 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
    • 12. Create the Package
    • 13. Deploy the Package
    • 14. Providers
      GAC
      File System
      Certificates
      COM objects
      IIS
      Registry
      App Pools
      ACLs
      Machine Config
      MySQL
      SQL Server
      Custom
    • 15. Integrates with IIS Console
      UI
      Import/Export
      Synchronization
      Migration
      Remember Today’s Password: Elastic Syntax
    • 16. Agent Service
    • 17. IIS Demo
    • 18. Visual Studio 2010
    • 19. Managing Web.config
      Transformation
      Connection strings
      Custom errors
      At Publish, not at Build
    • 20. Publishing
      Offline
      Online
    • 21. Package
      Manifest
      Contents
    • 22. VS 2010 Demo
    • 23. Command-Line
      msdeploy.exe -verb:<verbName>     -source:<provider>[=<pathToProviderObject>           [,<providerSetting>=<providerSettingValue>]]    [-dest:<provider>[=<pathToProviderObject>           [,<providerSetting>=<providerSettingValue>]]    ]    [-<MSDeployOperationSetting> ...]
    • 24. Command-Line Demo
    • 25. Continuous Integration
      <Exec Command='"C:Program FilesIISMicrosoft Web Deploymsdeploy.exe" -verb:sync -source:contentpath="$(DropLocation)$(BuildNumber)ReleaseSite" -dest:contentpath=ESTSERVERSite' ContinueOnError="false" />
    • 26. Building A Dev Server
      Configure IIS Management Service
      Open firewall port (8172)
      Install MSDeploy
    • 27. PowerShell in Action
    • 28. Thanks!
      davetrux@gmail.com
      @davetrux
      www.davidtruxall.com
      Slideshare.net/davetrux
      www.linkedin.com/in/davetrux