Yesterday I was asked to upgrade our CruiseControl instances from 0.9.2 to 1.2.1.
They said: "Its easy! Just stop the service, overlay the cruisecontrol build and restart the service!"
"Are you sure?" I said.
"Yeah! We read all the release notes it will be no big deal!"
Well, I don't trust it! So I took a more conservative approach: I started a new directory, added cruisecontrol 1.2 to it, then copied over the ccnet.config and all the project state files. I set cruisecontrol to a new port, and registered the service ("%system root%\Microsoft.NET\Framework\v2.0.50727\installutil.exe ccservice.exe /servicename="cruisecontrol instance name").
I tried starting the service in console and quickly found errors - specifically I had 2 different issues:
1) VSS Projects - no longer need to be quoted. Most of our VSS paths have spaces, some have special characters. Previously we had to include quotes for these. Including quotes in ccnet.config for project paths breaks cruisecontrol.
2) pathFilters are used for continuous integration builds to indicate what files will not cause an automatic build to occur. For example our build process checks in an updated assemblyinfo file so that the compiled DLL will contain the correct version, however we do not want a second build to occur just because we checked in assemblyinfo. Previously pathFilter allowed any number of pattern nodes to be included. Now each pathFilter can have only 1 node. But you can have as many pathfilter nodes as you need.
<pathFilter>
<pattern>$/Application Code/My Application Directry Build/**</pattern>
</pathFilter>
Seems to be working now that these 2 issues have been corrected for every entry in ccnet.config.
No comments:
Post a Comment