我們使用的是調用MSBuild腳本的CruiseControl.NET。在調試構建腳本的同時,我們不斷進行小的更改,並通過在IIS上運行的CruiseControl.NET Web控制檯運行構建。儘管我們只是在測試,但一切都在一臺機器上。從CruiseControl.NET調用的MSBuild不會構建腳本更改
我注意到,我們在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服務是最安全的,但我希望不必中斷當前正在運行的版本。
對,Web控制檯不應該與構建任何事情,而是通過RMI調用操作。 CruiseControl服務本身就是建築物。那麼服務是否可以緩存?一切都在我的本地機器上,所以Getting Latest不應該是一個問題。 – Jeremy 2009-02-10 05:26:30