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

2 comments
Comment actions Permalink

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.

0
Comment actions Permalink

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:

agent.home.dir C:\BuildAgent
agent.work.dir D:\build
teamcity.build.tempDir D:\buildagent_temp\buildTmp


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

0

Please sign in to leave a comment.