Why does CruiseControl.NET need to be restarted after GetCcNetConfigFiles?

The CruiseControl.NET service needs to be restarted to receive changes in project configuration files.

I find it very annoying, not sure if this is a mistake or the way it works.

Is there any way people can overcome this problem?

+7
source share
5 answers

If your projects are separated in another ccnet.config file, you need to restart the service if you do not touch the actual ccnet.config.

We use ENTITY with a link to the SYSTEM file in ccnet.config for our projects, so we are in the same boat. I am happy to pay the price for an easier project maintenance, as it is easy to reload the script:

net stop CCService net start CCService IISRESET 

If you want to fully automate this, and your projects are under source control, then you can initiate an update and restart whenever the project files are affected.

+10
source share

In CC.Net, an error occurred before 1.4.4 if you used the pre-processor but did not reload the configuration when the ccnet.config file was modified.

This was a bug that I reported, and it is fixed in CC.Net 1.4.4 and higher.

Also, keep in mind that if an assembly is in progress and a configuration change occurs, it will not be executed until the assembly is pending.

+5
source share

How do you update your configuration files? By hand? Mine always recognizes and tunes. Is your configuration file source code intended for porting and replacing it? It takes a hit for me. As I eventually fixed this, my project pulled it into a separate folder. THen I call ccnet.exe -validate on it to make sure it is well formed, then I copy it over the current configuration file. CC.NET Recognizes Changes and Loads in New Configuration

Exceptions: if cc.net is currently starting a project, it will not recognize the changes until the project is completed.

If your ccnet.config has errors, it will never know the changes and will not save the old version stored in memory. (However, when CC.NET restarts, it will try to analyze the error-filled configuration and throttle.

Hope this helps!

+2
source share

You mean that you use linked files, that is, the ccnet.config file has links to independent project files.

If so, then they are not picked up, he mentions in the documentation that he does not look at the subfiles.

Inside, we changed our CruiseControl.net so that our ccnet.config is an optional directory - and we can cancel the links to our project configuration files in this directory. We put the clock in a directory, files or shortcuts in a directory and all the purposes of shortcuts. This means that we have project configuration files in ClearCase and just open the shortcut in the ccnet.config directory.

I just spent half a day or so switching from 1.2 to 1.4.2, discarding our changes to the new version for our internal use. We do not own our code, our client does, and therefore it must remain internal :(

+2
source share

I have never experienced this. Whenever I change configuration files, the CruiseControl.NET service seems to automatically re-read them.

I am using CC.NET version 1.3.

Update:

There is a parameter in the service configuration file (ccservice.exe.config) that allows you to enable / disable viewing the ccnet.config file for changes:

 <add key="WatchConfigFile" value="true"/> 

Make sure that this parameter is set to true.

+1
source share

All Articles