I’ve written previously about various aspects of the DrDoctor automated build process (you can read a few posts here, here and here). In the last week we’ve made a few more improvements that are worth a mention. The kudos for these improvements goes to my colleagues Steve (blog) and Jev.
Auto Tagging Production Releases We have a branch that all of our releases into production go out from. We call it develop, but really we treat it more like master.
SSIS packages aren’t backwards compatible - that means if you start building packages targeting SQL Server 2012 and then find out you need to also support and earlier version (like what happened to me this week), you will need to start over. However, if you used Biml to generate your packages you could spin up an instance of SQL Server 2008 in Azure, load your Biml project in BIDS and regenerate your packages targeting a different version.
Six month ago when I joined DrDoctor we were doing manual deployments into production. It would take us somewhere between two and three days to prepare for, test and release into production. We had no Continuous Integration environment and nowhere to test or demo changes before releasing.
Today it is a very different picture. Each change that we push to our BitBucket repository is picked up by TeamCity, which then does a build and runs an extensive test suite.
A project I’ve been working on recently has consisted of lots of little packages which are called from a single coordinating package. I started off developing against SQL Server 2012, and thankfully used BIML to generate all my packages. The main controller package passes a variable down to the sub-packages, which is then subsequently used when executing a stored proc. This all worked nicely until I was told that it needed to work against SQL Server 2008 :-( Thanks to the ease with which BIML allows changes to be made I had it fixed and working again within minutes.
Are you interested in automating your deployment process? Leave a comment and I would be more than happy to help you along the path, you won’t look back!
At DrDoctor we are currently under going a massive initiative to automate our deployment process. We have made excellent progress over the last couple of months, and as it stands we can confidently and effortlessly release new versions of the various software components of the system (IIS websites, Windows services).
Biml from what I have observed is still in it’s infancy. Don’t get me wrong, what can actually be done with Biml is impressive, however it seems to me how we are using it and how we are talking about it still needs to mature before it can be fully and effectively embraced by the community at large.
There is a growing number of people in the SQL Server community that are contributing excellent guidance and driving forward its maturity, as well as BimlScript.