CruiseControl.Net: как очистить устаревшую историю сборки? - PullRequest
8 голосов
/ 25 ноября 2008

Я только начал использовать CCNet, и в процессе настройки своих сборочных проектов я накопил много истории сборки методом проб и ошибок. Я действительно не хочу хранить старые вещи, но не могу понять, где и как от них избавиться. Я уверен, что это глупый вопрос, и я прошу прощения, если я пропускаю что-то, что должно быть очевидным. Я делал RTM и Google около получаса, и копался в моей установке CCNet, но это не бросается в глаза. Я удалил файлы состояния для проектов (не знаю, имеет ли это какое-либо отношение к этому), но старые сборки все еще там, если я углублюсь в статистику проекта с панели инструментов. Какие-либо предложения? Спасибо.

Отвечено : Я явно установил каталог артефактов в местоположение, которое не находилось в каталоге сервера CCNet, и, следовательно, никогда не просматривал его снова ... пошел искать и, диско, есть истории сборки.

Ответы [ 5 ]

11 голосов
/ 26 января 2011

Не забывайте, что вы можете использовать Artifact Cleanup Publisher , чтобы не допустить увеличения вашей истории сборки до размеров Марса.

5 голосов
/ 25 ноября 2008

Если у вас есть проект с именем "Dev" и вы установили CCNet в папку по умолчанию, у вас будет папка с именем:

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

и файл Dev.state в:

c: \ Program Files \ CruiseControl.NET \ server

Просто удалите и папку, и файл состояния.

2 голосов
/ 23 декабря 2009

Что вам нужно, так это папки "артефакты". Проверьте ваш файл ccnet.config на наличие тега

Остановите службу, удалите папку каталога артефактов и перезапустите службу.

1 голос
/ 10 июля 2010

Журналы хранятся в каталогах артефактов по адресу артефакты \ MyProjectName \ Build \ log * .xml.

В файле State хранятся такие вещи, как дата, время последней сборки, информация.

Лучше всего остановить службу, а затем удалить .state в ProgFiles \ CC.net \ server, а также удалить артефакты \ MyProjectName \ Build \ log .xml.

0 голосов
/ 14 ноября 2014

Как упомянуто выше, используйте издатель очистки артефактов, чтобы поддерживать количество артефактов на разумном уровне.

Если у вас много проектов и вам нужно выполнить ретроспективную очистку, вы можете использовать следующий скрипт 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
}

Благодаря этому ответу: Удаление файлов старше 15 дней с помощью PowerShell

...