Tuesday, March 29, 2005
Nant and subversion

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



3/29/2005 10:05:45 AM (Eastern Daylight Time, UTC-04:00)
Any problems with ccnet not building when changes are checked in sometimes, but if you force build it lists the changes found? It's driving me so nuts that I have it set up to auto-force-build...
3/29/2005 10:26:02 AM (Eastern Daylight Time, UTC-04:00)
I haven't noticed that as of yet, in fact I saw the opposite when I was prototyping. I had ccnet monitoring the wrong dir (the trunk root) so it was building every few seconds since it found changes to the versioning folder that the build makes.

Email me your ccnet.config and I will take a quick look at it and see if I see anything wrong. Which version of ccnet are you using? I intend on posting my ccnet.config soon too. This using svn?
3/29/2005 10:36:34 AM (Eastern Daylight Time, UTC-04:00)
No, VSS. I'm contemplating a move to SVN but not sure if I should.
3/29/2005 10:51:45 AM (Eastern Daylight Time, UTC-04:00)
With VSS we didn't have an issue either. Check out the files that I published with the article I referenced in that post. Those were setup to work with VSS. It may need some modification due to new versions, but should be pretty relevant. Def still send the file too and I will eyeball it.
3/29/2005 10:59:35 AM (Eastern Daylight Time, UTC-04:00)
Oh, and svn is great. I would HIGHLY suggest playing with it. :)

I would also HIGHLY suggest reading the pragmatic series book on svn. Its a quick, situational based read. Excellent book.


Name
E-mail
Home page

Comment (HTML not allowed)  

Enter the code shown (prevents robots):