我希望在部署站点后清除CruiseControl.NET构建中的工作目录,因为空间是一个问题,并且没有要求保留它。
目前所有东西都在一台机器上设置(这种情况不太可能改变),这既是Mercurial存储库服务器,也是测试Web服务器和CruiseControl.NET构建服务器。 所以在C:\ Repositories \和C:\ inetpub \ wwwroot \我们每个网站都有一个文件夹。同样在C:\ CCNet \ Projects中,每种类型的构建(测试和实时)每个网站都有一个文件夹 - 这意味着我们在服务器上每个网站至少有4个副本,每个站点大约100mb X 100个站点这会增加很多磁盘空间。
我认为我想要做的就是在成功构建时简单地删除工作目录,只需要5-10秒即可完全获得一个新副本(构建服务器与hg在同一台机器上的一个小优势)服务器)并且只保留一些相对活跃的项目。在100个左右的网站中,我们一周的工作时间不超过10个(5人团队)。 我已经尝试了一个运行cmd.exe到/ del / s / q工作目录文件夹的任务。有时这将成功完成,否则它将失败,并显示“进程无法访问该文件,因为它正被另一个进程使用”。当它完成时,构建会再次启动,大概是因为找不到WD并且需要重新创建它,所以我发现我在那里处于一个永无止境的循环中。
有什么方法可以减少运行这些构建所需的空间量,还是我需要整理一个商业案例来增加服务器的托管成本?
答案 0 :(得分:0)
您需要创建自己的ccnet任务并在其中构建逻辑。
result.ArtifactDirectory
更改为您需要的基本目录\bin\Debug\ccnet.[pluginname].plugin.dll
放置到c:\Program Files\CruiseControl.NET\server
或安装CCNET的任何位置。