То, как я делал это в прошлом, - это не иметь собственный источник проверки CC.Net. Вместо этого для проекта есть два элемента <msbuild>
, первый из которых вызывает цель сборки, которая запускает svn-clean.pl (скомпилирована в .exe), а затем обновляет источник с помощью svn.exe.Второй элемент <msbuild>
запускает основной процесс сборки.
Вы можете легко заменить svn-clean командой delete. Для моих проектов удаление мякины из кассы всегда было быстрее, чем проверка новой рабочей копии.
Два элемента msbuild необходимы, потому что основной файл сборки проекта часто обновляется. Это важно, потому что обновления вашего файла (ов) сборки будут перезагружены только при запуске нового процесса msbuild.
Эта настройка прерывается, когда я (очень редко) перемещаю или изменяю зависимости этой цели сборки чистых и обновлений в той степени, в которой процесс msbuild должен перезагружать действительные инструкции для запуска очистки и обновления цель. Когда это произойдет, я прекращаю CC.Net перед тем, как совершать транзакции, зайдите на сервер CC.Net и сделайте «обновление svn» вручную.
Sidelight: Вполне возможно, что CC.Net имеет естественную операцию очистки до сборки. С тех пор я перешел в TeamCity, который настраивается для каждой сборки или только тогда, когда разработчик выбирает (например, когда вы знаете, что вы внесли изменения, которые не будут обновляться чистыми - svn перемещает каталоги со сборкой разум).