CruiseControl.Net:如何清除过时的构建历史记录?

时间:2008-11-24 22:51:09

标签: continuous-integration cruisecontrol.net

我刚刚开始使用CCNet,并且在设置我的构建项目的过程中,我从试验和错误中获得了很多构建历史记录。我真的不想保留旧的东西,但我似乎无法看到在哪里/如何摆脱它。我确定这是一个愚蠢的问题,如果我忽略了一些显而易见的事情,我会道歉。我做了RTM和谷歌大约半小时,并且围绕着我的CCNet安装,但它并没有向我跳出来。我删除了项目的状态文件(不知道是否与它有任何关系),但是如果我从仪表板钻取项目的统计数据,那么旧版本仍然存在。有什么建议?感谢。

已回答:我已经明确地将工件目录设置为不在CCNet服务器目录下的位置,因此再也没有查看过它...去看看,迪斯科,还有构建历史记录

5 个答案:

答案 0 :(得分:11)

不要忘记你可以使用Artifact Cleanup Publisher来保持你的构建历史不会随着时间的推移而增长到火星大小。

答案 1 :(得分:5)

假设您有一个名为“Dev”的项目,并且您已将CCNet安装到默认位置,那么您将拥有一个名为的文件夹:

c:\ Program Files \ CruiseControl.NET \ server \ Dev

和Dev.state文件:

c:\ Program Files \ CruiseControl.NET \ server

只需删除文件夹和状态文件。

答案 2 :(得分:2)

您要找的是“工件”文件夹。检查ccnet.config文件中的标记              

停止服务,删除工件目录文件夹,然后重新启动服务。

答案 3 :(得分:1)

日志存储在artifacts \ MyProjectName \ Build \ log * .xml下的工件目录中。

State文件存储上次构建日期,时间,信息等内容。

最好停止服务,然后删除ProgFiles \ CC.net \ server中的 .state,并删除工件\ MyProjectName \ Build \ log .xml文件。

答案 4 :(得分:0)

如上所述,使用Artifact Cleanup Publisher将工件数量保持在合理的水平。

如果您有很多项目并且需要进行回顾性清理,则可以使用以下Powershell脚本删除旧的日志文件:

$limit = (Get-Date).AddDays(-60)

get-childitem -Path D:\Builds -filter MatchMyProjects.* | %{ 
    $projectPath=$_.FullName
    $logsPath=$projectPath + "\Logs"    
    write-host Removing logs from folder $logsPath
    Get-ChildItem -Path $logsPath -Force -Filter *.xml | Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt $limit } | Remove-Item -Force
}

感谢您的回答:Delete files older than 15 days using PowerShell