我们使用的是调用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