For the past couple years, I’ve used a product called FinalBuilder from VSoft Technologies to automate my build processes. Since I’ve been building web sites (about the past 5 years or so), one of the biggest hassles is maintaining them. That is, updating the databases, deploying the web site, automating backups, etc. I’ve used several products like FinalBuilder (including Cruise Control), and to be honest, none of them come close to the quality of FinalBuilder.
Basically, the way the product works is that you create a “project” file using the FinalBuilder IDE. That project file has “Actions” in it which do things like “ftp” files to servers, rename files, iterate over sql scripts, parse and update files, checkout from source control, as well as hundreds of other convenient functions. You then execute that “script” file and all the magic happens.
Then, VSoft has another product called FinalBuilder Server, which is really an asp.net web site that you run on your server. That running web site can take one of your FinalBuilder scripts, and run it through a really nice dashboard (web page).
In my current scenario, I have 5 different web sites I can publish simply by pushing a button. I log into the web page (dashboard), press “Start Build”, and behind the scenes this is what happens:
- A new temporary directory is created
- All My source code is exported from subversion into that directory
- All My Visual Studio Solutions are built
- All the config files (web.config,app.config, etc.) are updated with appropriate parameters (connection strings, etc.)
- The Web Site is copied to the correct location
- A Backup of the source is created an zipped into an archive directory
- The temporary directory and all it’s files are deleted
Of course, I really do more than this, but you get the basic idea. It’s wonderful. It’s not free, but worth every penny (not to mention the support is awesome).
Hope you get a chance to try it. Here is a link to their site: