After 2 years of development and lots of customer feedback, we are proud to announce that the Web Deployment Tool has shipped the RTW of our version 1.0!
In version 1.0, we have the following components:
- Powerful APIs that allow you to deploy, sync and migrate web applications on IIS, and perform granular operations like changing IP bindings, site names and changing file structures on the fly. You can also create a new provider to sync a new type of resource.
- Command-line tool (msdeploy.exe) that allows you to perform all the same operations available in the APIs.
- User interface built into IIS Manager 7.0 on Vista, Windows 2008 and Windows 7 that allows you to create packages (zip files containing IIS config, content, databases and more) and install them.
- Delegation framework and service built into IIS 7.0 that allows you to delegate tasks like installing applications and databases without requiring them to be administrators on the box.
- Remote administrative service that works on IIS 6.0 and 7.0 to allow server-level synchronization by administrators.
So, what can you do with these components?
- Migrate Web applications from IIS 6.0. Simplify the planning of your IIS 6.0 to IIS 7.0 migrations by determining incompatibilities and previewing the proposed changes before starting the process. Learning about any potential issues in advance gives you the chance to take corrective measures and simplifies migration.
- Synchronize your server farm. Synchronize between IIS 6.0 > IIS 6.0 or IIS 7.0, and only sync the differences. The tool simplifies the synchronization process by automatically determining the configuration, content and certificates to be synchronized for a Web site. Optionally, specify additional resources for sync, including databases, COM objects, GAC assemblies and registry settings.
- Package, archive and deploy Web applications. Package configuration and content of Web applications, including databases, and then use the packages for storage or redeployment. These packages can be deployed using IIS Manager without requiring administrative privileges. The tool integrates with Visual Studio 2010 to help developers streamline the deployment of Web applications to the Web server. The tool also integrates with the Web Platform Installer to allow you to simply and easily install community web applications.
What are some of the new features in RTW?
- Brand new UI to create those server-side delegation rules, instead of directly editing config.
- Delete and recycle application support inside IIS Manager, even as a remote non-admin user.
- A new temporary agent that doesn't require you to have any services installed on your remote machines, but instead temporarily adds the agent and then removes it after sync.
- A rule to avoid overwriting newer files on the destination with a new rule.
- A rule to avoid syncing based on time stamp differences and instead perform a checksum comparison.
- A new provider (runCommand) allows you to run a batch file, script or exe as part of synchronization. This is convenient if you need to net start a service, for example.
- Lots of enhancements to our parameterization, including the ability to validate what the user enters, and provide a parameters.xml file with answers to parameters instead of passing them one at a time in the command-line.
Some of our favorite scenarios include:
- Create application packages that contain all of the IIS config, content, databases and more, including parameters so that when the server admin installs the package, they are prompted to fill in parameters like SQL Server connection string.
- Insert a few XML files into your existing application zip file (such as DotNetNuke or WordPress) and make your application work seamlessly in control panels or through the Web Platform installer.
- Build an automated deployment system using our APIs, cmd-line or the Visual Studio integration, so that you can deploy daily from test to staging to production.
- Allow your developers to directly deploy to the staging server without admin intervention, and lock down exactly what they can change (mark a folder as an app but not change the site's binding).
- Replace Application Center with a set of scripts or programs that call our APIs or cmd-line to sync multiple servers in a web farm.
- Build a roll-back solution by taking a package of your live app, deploying the app_v2 package created in your dev environment, and checking for failures. In case of failures, automatically apply the v1 package or backup that you took.
But there are a lot more tasks and scenarios you can accomplish, we'd love to hear about what you're doing...
Go get our 1.0 release at http://www.iis.net/webdeploymenttool and let us know what you think!
Faith Allington and the entire Web Deployment team