The Demise of Xcopy Deployment

Education

david-truxall
  • 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
    Please download to view
  • 1
    All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
    Description
    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!
    Text
    • 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
  • Comments
    Top