Unleash it

Thu 9 February, 2006

Most of the times the simplest tools are the best tools. That’s just the case of Unleash it, previously known as Web Deploy, and that’s exactly its job: to copy files and folders to a remote server to make easier for us the deployment of a web application.

Its use is amazingly simple: you create one or many deployment profiles. The main thing to define on each profile is the paths, either the source path (presumably the local path where we store our development version of the project) as the destination path, which will surely be the remote server path where we’re going to deploy.

As you can see from the screen, we can also select a Visual Studio project as source, and an FTP profile or ZIP file as destination. Here’s one of the things I liked less about Unleash it!: you can only choose Visual Studio projects, not solutions. On the list by the right que mark the files we want to include on the deployment and the folders we want to exclude from the deployment and done. That would be a basic configuration.

Of course, we can complicate matters. Clicking on the profile configuration option, we access this dialog box:

upon which we can perform some actions to fine-tune our profile. Among others:

  • Show a dialog box for each deployment to specifically state which files and folders we want to deploy to destination. Very useful when we only want to upload some particular files, but using this option on every deployment kind of defeats the whole point of the tools, which is precisely to deploy our web applications with a single mouse click.
  • Logging all the actions performed by the profile.
  • Pre and post deployment commands. On my particular case I’m going to need this: one of the files I got to deploy is, naturally, web.config. But right now I’ve got to deploy it manually, because the connection strings and some other configuration options are different on the development machines than on the server. However, web.config also stores the navigation options of UIProcess, and for the time being I have to update that by hand.
  • Backup possibility.
  • Plugins. One of the most interesting options, it allows us to call external applications from Unleash It. The included plugins are a connection to NAnt, the possibility of checking with Visual SourceSafe or Sourcegear’s Vault, and being able to exclude from the deployment certain files by name instead of mask.

Lastly, we can combine several deployment profiles into one big action thanks to the Multiple Profile Deployment tab, as you can see:

Of course there are more complex and powerful applications, as of course there are projects far more complex than the one I’m working on right now. For my current needs, Unleash it is a perfect tool, which allows me to deploy a new version of my application to the server with a single click. And that’s what tools are for, to make your life simpler and gain productivity.