Spent this weekend playing with nant again. A while ago I wrote an article on using a number of tools for builds, and really since then have been hands off on our build. It's good that it ran for almost a year without any serious maintenance (besides deleting old builds), but it also means I didn't get a chance to stay up to date on the products. Well, a conversion to svn will change that. Once I had my head wrapped around svn enough, it was time to move on to the builds.
Expect many more details on this, but I wanted to share my prototype build file. I created it this weekend for the del.icio.us.net. api/app I'm working on. One of the major goals of these build files were to move the coupling of the build from the dedicated build machine, to the project itself. This allows anyone on the team to build with the same build procedure the build machine uses, as well as (in a crunch) make a full releasable build from their machine. This is of course only in the work files, but the prototype I made over the weekend is a good starting point for anyone looking for setup a build. The biggest changes to the old build were a) use 100% relative paths (I can have 50 copies of the source in 50 diff locations, and the build will work 100% in all of them) b) remove web projects (same as last ().. yay no more being tied to IIS) c) simplicity rules. I think I attained all of these. You can check out the prototype build file here.
Editing a build file isnt enough either. So then I moved on to ccnet. I will give more details on that in an upcoming post, but feel free to check out the ccnet setup here. If I find 100 builds today I'll have to put it under sspi though :) Sorry for the off port numbers. I need more IPs (anyone know a way to NAT based on host headers without a 5k$ cisco box?)
Edit : Bug in copyWebFiles. Copy task should just copy **, but that path should be in the basedir= of the fileset, and remove the flatten attribute. I'll edit the file when I get home
Remember Me