We are looking to implement continuous deployment with a large web application which has classic ASP pages as the front end, compiled DLL's as a middle tier, and a SQL Server database. Ideally, we would like like to deploy just the changes (or patches). We are using Mercurial as our code repository, where "dev', "QA", and "Stable" branches are maintained. The goal is automate deployment of the Stable branch.
We have TeamCity in place just for building the appilcation (full build), but we are looking to take it to the next level.
- Building patches rather than full Deploys: Due to the size of the applcation and database structure it would be nice to have TeamCity/Mercurial build and publish just the changes when changesets are merged into Stable. This is especially true for SQL Server changes ... rather not build an update script for the entire database if we are only changing a default binding on a field.
If anyone has experience with creating a similar automated process, I'd like to hear which tools were used and how some of these concerns were addressed.