【发布时间】:2011-06-08 15:47:50
【问题描述】:
我想在站点部署后清除 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 并且需要重新创建它,所以我发现我在那里处于一个永无止境的循环中。
有什么方法可以减少运行这些构建所需的空间量,还是我需要整理一个业务案例来增加我们服务器的托管成本?
【问题讨论】: