0

I am setting up a CruiseControl.Net server. So far, it only builds a project (.Net website), and I kind-of know how to set up unit testing, code coverage, etc in the future.

What I will need to have soon is this:

  • The developers commit changes to SVN continually, thus CCNet builds often.
  • CCNet will publish the latest version to the development server, as soon as a commit is validated (with unit tests etc).
  • The project manager validates a specific version, in order to publish it to the pre-production server, and create a SVN tag from this revision.

The last point is where my problem lies: how exactly can I set up things so the project manager can, for instance, browse to the CCNet web dashboard, select a previous specific build, and says "this is the build I want to publish" ?

I believe that my thinking is flawed somewhere, but I can't put my finger on it. Maybe CCNet is not the right place to do these manipulations ?

In my mind, I can create a SVN tag using CCNet, and mostly work from the trunk, but maybe I can't ? Maybe it's the other way around, and I should add a CCNet project every time a tag is created under SVN ?

The final goal is that I want to automate the publication process: zip creation (for archiving), web.config modification (using Nant for instance), and website publication (using FTP).
In all these steps, I want to limit the manual intervention to the maximum. If I can avoid to add a new project to CCNet every time a tag or branch is created in SVN, that would be awesome.

Thanks for your help, and sorry if it's not very easy to read, but it's not very clear in my head either...

thomasb
  • 5,816
  • 10
  • 57
  • 92

1 Answers1

0

Since you can create any task, you should be able to achieve the goal, though unfortunately not out-of-the-box.

Since you use SVN, it all depends actually on revision. I think I'd create a separate project for your third scenario and added a parameter where PM would provide revision number. Then based on that I'd tag sources etc. in my own task.

Regarding the other points, I think this is similar. Recently for web projects we started using MSDeploy, and in each stage build the MSDeploy package was created. Then there was a separate build called Deploy, that when forced allows us to select which package we want to deploy using MSDeploy.

Having several environments, however, started a little bit like overkill for managing with CCNet, and I'll be looking into kwakee at some time.

sinnerinc
  • 342
  • 2
  • 7