posted on Wednesday, May 10, 2006 5:26 PM by Benjy

BTS Diary II - 3 - Becoming NAnt Infected

I've been fairly quiet for a long time cos we've been beavering away at our latest integration project. (in case anyone cares!!). I finally got into the NAnt world and have become truly 'NAnt Infected'. Now I'm wondering what took me so long. The major factor for getting into it was the pain we had last time round trying to build and deploy our Biztalk solution which was only of medium size. This time Im not having any of that. Its gotta be continuous integration all the way. Im also working with a team that isnt well versed with Biztalk or large scale .NET development so manual deployments just arent on. Two great resources in getting into this are the book "Expert .NET Delivery with Nant and CC.NET" (Marc Holmes writes extremely well) and Scott Colestocks Deployment Framework. I view the latter as a master class in Nant scripting.

Im not using Scotts framework as is, because the folder structures and naming conventions i adopt are quite different from his and i would have to do a fair amount of customizing to get his framework to work for me. Additionally, the team has yet to be introduced to Nant and it would be quite a task for them to get familiar with a fairly advanced framework. But on close inspection, there are many similarities between the framework and the batch files i put together last time which called the SDK VB Scripts (and the MSDN Whitepaper provided much of the scripts anyway). However, it must be said that Nant is much more elegant than batch files.

The other reason im not delving too much into deployment and writing another engine is that we plan to move to BTS 2006 in the fall and i would rather spend time with a comprehensive framework which is based on much needed improvements (such as the Application model) than on the fairly raw current one. Even v2006, from what i hear, has complications when it comes to undeploying custom pipelines.

I think the one click deploy and undeploy should be done from both the MMC as well as from VS.NET. After all why not assign an Application to a VS.NET solution and just have a right click menu item that spins through the solution picking up dependencies automatically and doing the necessary tasks. Let me wait and see. Perhaps they have already done that, but if they havent, GAT should provide a route. Will keep y'all posted. Happy Biztalking!!

Comments