Surface system dir as a variable
Hi,
the agent's cache contents seem to grow way too much. It has no problem exceeding 10-15GB, and I don't like that, as the disk fills up too fast.
I was going to write a small script to clear the cache - as a build configuration - but that failed as I had already relocated the systemDir in the conf-file and I found no reliable way to get to that setting from a script.
It would be useful to do any or all of
* Surface all settings as some kind of variables that can eventually be pushed to the agent as envirnment vars
* Allow me to specify the size limit of the cache, either as a hard size number (do not exceed cache size 5GB) or as a minimum disk free size (start clearing cache when there's less than 3GB left on device).
The latter feels like a more robust solution in this very case.
Best regards,
--Jesper Hogstrom
Please sign in to leave a comment.
You can configure the minimum disk free space for a build agent. See http://confluence.jetbrains.com/display/TCD8/Free+disk+space for more information.
I might be getting this wrong, but it seems there is a potential to not get the correct disk checked. From the docs:
The disk space check is performed for two locations: the agent's temp directory and the build checkout directory.
However, if I install my agent on c:\BuildAgent and specify the following configuration:
I will still have my system - and therefore artifacts cache - directory on c: which will not be checked according to how I read the docs. My problem is that the artifacts cache fills up more than I can handle. All agents are VMs and sit on the same VMHost with a virtual network connecting them in very high speed. For this particular case, I can take some network traffic in exchange for disk space. Disk space is more expensive at the moment.
It seems reasonable that the disk carrying the cache directory - or any disk onto which the agent intends to write a single byte - is checked for sufficient free space and that additional cleaning strategies are employed depending on what the agent is storing/intends to store on that particular disk.
Best regards,
--Jesper