MSBuild, вызываемый из CruiseControl.NET, не принимает изменения скрипта сборки - PullRequest
0 голосов
/ 06 февраля 2009

Мы используем CruiseControl.NET, который вызывает скрипт MSBuild. При отладке сценария сборки мы постоянно вносим небольшие изменения и запускаем сборку через веб-консоль CruiseControl.NET, работающую на IIS. Все только на одной машине, так как мы просто тестируем.

Я заметил, что некоторые изменения, которые мы вносим в скрипт MSBuild, не регистрируются. Иногда они проталкиваются, иногда сервер несколько устаревших версий. Иногда перезапуск служб IIS делает свое дело. Иногда даже это не работает.

Кто-нибудь знает о том, что происходит в фоновом режиме? Есть ли какой-то кэш, который мы должны очистить для веб-приложений? Где это может быть?

Редактировать: Чтобы уточнить, все мои вещи находятся на одной машине, так как я все еще на стадии тестирования. Поэтому я не думаю, что контроль версий должен быть проблемой. Мой ccnet.config просто вызывает цель MSBuild. Вот упрощенный пример:

<project>
    <tasks>
        <msbuild>
            <executable>$(netFrameworkRoot)\MSBuild.exe</executable>
            <projectFile>C:\MyProject\ProductBuild.proj</projectFile>
            <targets>BuildProject</targets>
        </msbuild>
    </tasks>
</project>

ProductBuild.proj - это скрипт MSBuild, написанный вручную, который создает множество других решений .NET и упаковывает установщик с помощью vdproj.

Кажется, что изменения, внесенные в мой скрипт сборки, не всегда вступают в силу, когда я запускаю сборку на CruiseControl. Я думаю, что было бы безопаснее перезапустить службу CCNet, но я надеялся, что мне не придется прерывать текущие сборки.

1 Ответ

1 голос
/ 06 февраля 2009

«запустить сборку через веб-консоль CruiseControl.NET, работающую на IIS». Насколько я знаю, веб-консоль не выполняет построение. Он отправляет сообщение либо ccnet.exe, либо ccservice.exe, который всегда включен и прослушивает порт 21234 (если не указан другой порт). Но чтобы попытаться решить проблему, у вас всегда есть проект сборки самый последний? Ваш файл MSBuild находится в системе контроля версий? Какой источник контроля вы используете? Вы меняете файл MSBuild в рабочей области на сервере сборки? Вы должны опубликовать копию вашего проекта здесь, чтобы мы могли попытаться определить ошибку? Я могу вам сказать, что в отношении CruiseCOntrol IIS и веб-кеш не имеет ничего общего с фактической компиляцией. Если вы не говорите о проекте, который вы строите, нужны IIS?

...