CC.Net and Robocopy

| 5 Comments

I'm continuing to tune my continuous integration system. Today I switched the 'deploy' projects from using a CC.Net file system source control task to do the deployment to using Robocopy. This has sped things up nicely and made the deployments more configurable. One problem that I had was that the CC.Net "executable" task (the one that lets you run arbitrary executables) assumed that only exit codes of 0 were 'success' and Robocopy has a more complex strategy for exit codes (see here). Obviously you can wrap anything in a script that adjust the exit codes so that you can conform to CC.Net's idea, but, well, I found it neater to add to the executable task object so that it can be told which codes should be considered as successful completion.

I think the next thing to do is write a file system source control provider that uses Robocopy to do all of the work; this would fix ALL of my issues with the existing CC.Net file system source control provider.

5 Comments

Are you using msbuild for you vs8 projects? As usual Noel has come up with the goods - see http://powerof2games.com/node/27

We both know about lint - but I didn't know too much about msbuild. Very sweet and you can make your own *.*proj file (yes the regex pattern is correct), so long as the proj schema is valid. So you can write a lint project that can also be stuffed into CC.NET.

Adding a lint phase to the build is still on the list as is bootstrapping the whole CC.Net installation from CVS so that it monitors the checked in, binary release of CC.Net that I've set up and updates itself and rebuilds its config files when there's a change. Until I get my new build machine I have several machines building different combinations of builds and updating them as I hack my changes into CC.Net and the program that builds my config files is becoming a pain.

I don't currently use MSBuild as I'm not sure that it offers me anything useful in my situation; the pain being that I need to be able to build VC6 through VS2008...

HI
I am also following CI and want to deploy the Platform code from my Build server to QA & dev servers using robocopy and all, If possible could you send me some documentation and CCnet.config file configuration to follow as baseline. As I am using CruiseControl.net, SVN, msbuild as CI process.
nlohchab@aim.com

Thanks so much

N~

I'm not sure if the robocopy source control patches that I posted to the CC.Net mailing list were incorporated into a release or not. If they were then that's what I'd recommend using. Otherwise, I think the return code changes were put into the executer class, so you should be able to set up an exec to run robocopy. I can dig out an example if you want.

Plz it would be really beneficial for me, as i says that i want to copy/deploy my build code to my other environment i.e qa server.
thanks for the quick advise

Leave a comment