2009-02-06 3 views
0

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

Я заметил, что некоторые изменения, которые мы делаем в сценарии 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

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

+0

Правильно, веб-консоль не должна иметь ничего общего со строительством, кроме вызова операции через RMI. Это сервис CruiseControl, который делает это здание. Так может случиться так, что служба делает некоторое кэширование? Все на моей локальной машине, поэтому получение последних не должно быть проблемой. – Jeremy

Смежные вопросы