2008-11-24 58 views
8

我刚开始使用CCNet,在建立项目的过程中,我从试错中获得了很多构建历史。我真的不想保留那些旧的东西,但我似乎无法看到在哪里/如何摆脱它。我确信这是一个愚蠢的问题,如果我忽视了一些显而易见的事情,我很抱歉。我做了RTM和谷歌大约半小时,并围绕我的CCNet安装,但它并没有跳出我的身边。我删除了项目的状态文件(不知道这与它有什么关系),但如果我从仪表板中深入了解项目的统计信息,那么旧版本仍然存在。有什么建议么?谢谢。CruiseControl.Net:如何清除过时的构建历史?

已回答:我已经明确地将artifacts目录设置为一个不在CCNet服务器目录下的位置,因此再也没有看过它......去看,并且disco有构建历史。

回答

5

假设你有一个项目叫“开发”和你已经安装了CCNET到默认的位置,你就会有一个文件夹,名为:

C:\ Program Files文件\ CruiseControl.NET \服务器\开发

,并在Dev.state文件:

C:\ Program Files文件\ CruiseControl.NET \服务器

只要删除这两个文件夹和状态文件。

+0

卫生署!我已经明确地将artifacts目录设置为一个不在CCNet服务器目录下的位置,因此再也不会查看它了......看起来和disco都有构建历史。 – 2008-11-24 23:16:33

+0

这可能会稍微过时 - 我在.. \ server \下找不到“Dev”文件夹。这足以: 1)停止cruisecontrol.net服务 2)删除Dev。状态文件 3)重新启动服务 4)强制构建以消除“未知”上次构建时间。 – CrimsonX 2010-05-14 16:22:46

2

你在找什么是“工件”文件夹。请检查您的ccnet.config文件标签

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

1

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

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

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

11

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

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