Я не знаю, работает ли SVN аналогично TFS (у него есть кеш и так далее ...), но вот как я это делаю с CC.NET и Sourcesafe:
В разделе prebuild моего проекта я убеждаюсь, что очищаю свой рабочий каталог, то есть удаляю все, что находится внутри него.
(Задачи, которые включены в раздел prebuild, будут выполнены до CC. NET получит последнюю версию вашего проекта из-под контроля версий).
Для этого я вызываю цель, определенную в моем скрипте сборки (msbuild), которая называется «чистой».
Эта цель удаляет все файлы и каталоги.
Примерно так выглядит задача в моем скрипте сборки msbuild (наизусть, у меня ее нет прямо здесь, со мной):
<Task name="clean">
<ItemGroup>
<FilesToDelete include="$(workingdir)\**\*.*" />
</ItemGroup>
<ItemGroup>
<DirectoriesToDelete include="$(workingdir)\**" />
</ItemGroup>
<Delete Files="@(FilesToDelete)" />
<RemoveDir Directories="@(DirectoriesToDelete)" />
</Task>
Затем в конфигурации проекта CC.NET я вызываю сценарий MSBuild с помощью задачи MSBuild и вызываю эту цель.
Что мне нравится в этом, так это то, что я могу очень легко очистить рабочий каталог на моей рабочей станции; Мне просто нужно вызвать эту цель, используя вызов msbuild в командной строке, а мой рабочий каталог пуст. У меня есть аналогичные задачи для выполнения последней, полной сборки и т. Д.
person
Frederik Gheysels
schedule
12.03.2009