views:

617

answers:

1

I'd like to be able to keep our CruiseControl.Net's ccnet.config file in svn, then when I check in a change, ie, I've added a new project, it will update itself.

This way I have the config file under source control and I can track the changes being made.

I do realize that I could check in a change that will screw up CruiseControl to a point where I'd have to have some manual intervention, but in the general case, this sounds like it would work very nicely.

However, this loop seems like it could possibly create a black hole and destroy the world. I'd like to keep that off my conscience if at all possible.

Any thoughts?

+3  A: 

We're doing almost exactly that and no black-holes have appeared...or maybe they did and just evaporated? :) CruiseControl.NET handles it very well, it will even wait until any other builds have finished before restarting.

Our process sounds a little more complex, here's a brief rundown on the workflow:

  • On our "Omega" builds (RTM, GA, Gold, ...) for a project we automatically create a new ccnet project. Project is based on a branch (whose name is also generated automatically from assembly version) which is also created at the same time.
  • The new project is added, ccnet.config is updated to reference it, working copy is updated, committed, then updated.

So it takes (at most) 2 clicks for us to create a release build from ccnet - one click to create the branch and ccnet project, then another click to force the first build against the release branch, or you can just wait for the inevitable patch ;-)

Happy to provide further details if you want them.

Si
That's the confirmation I was looking for... Our setup is nowhere near as complicated, but rummaging around in an un-versioned config file gives me the heebie-jeebies. I'm going to try this and see how it goes. Thanks!
Moose