对于发表于中国的材料存在疑问 以下链接 “http://confluence.public.thoughtworks.org/display/CCNET/Integratio+Queues”
告诉“CruiseControl.Net的默认行为是这样的 配置中定义的每个项目都有自己的集成 线程,从而允许不同命名的项目构建 同时进行。
但请注意,单个项目永远不会构建超过 曾经在同一时间。如果你强制在项目X上构建它 已经集成,强制构建请求被有效阻止 直到上一次集成完成。所以你也可以想到 这个每个项目都有自己专用的集成队列,其中 只有队列头部的项目当前正在建设中 最多只有一个待处理请求。“
但在我的情况下,这是非常矛盾的,因为我强迫我的构建 它打开我的IDE并启动集成和构建 约3分钟左右但是当我在执行之间强制我的构建 在我的webdash板上,我看到它再次打开另一个IDE并启动 建筑物是不可接受的。根据显示的链接 它应该排队等待第一个IDE执行完成 然后去第二个。
你可以提出解决这个问题的方法吗?
亲切的问候 麦迪答案 0 :(得分:0)
也许这是一个问题(来自CCNet文档,即使我不知道这个设置):
重复:规范如何处理队列中的重复请求。可能的值包括UseFirst,ApplyForceBuildsReplace和ApplyForceBuildsReAdd。
http://confluence.public.thoughtworks.org/display/CCNET/Queue+Configuration
答案 1 :(得分:0)
我们使用集成队列作为管道目的,以防您的项目具有依赖关系,并且您希望在订单中构建它们。
这是它的工作原理:
...
<!-- Put all related projects in same Q, here MyProjectQ-->
<!-- Set queuePriority, based on who-is-dependent-on-whom -->
<project queue="MyProjectQ" queuePriority="1">
<name>MyProject.Main</name>
</project>
<project queue="MyProjectQ" queuePriority="2">
<name>MyProject.Installer.All</name>
</project>
...
HTH
答案 2 :(得分:0)
这是下面显示的ccnet.config文件 CruiseControl的&GT;
<project name="VSAT" queue="Q1" queuePriority="1">
<sourcecontrol type="filtered">
<sourceControlProvider type="filesystem">
<repositoryRoot>C:\MyProj</repositoryRoot>
<autoGetSource>true</autoGetSource>
<ignoreMissingRoot>false</ignoreMissingRoot>
</sourceControlProvider>
</sourcecontrol>
<triggers>
<intervalTrigger name="continuous" seconds="240" buildCondition="IfModificationExists" />
</triggers>
<tasks>
<nant>
<executable>C:\Nant-0.85\bin\NAnt.exe</executable>
<buildFile>nant.build</buildFile>
</nant>
</tasks>
<!--<triggers>
<intervalTrigger seconds="50" buildCondition="ForceBuild"/>
</triggers>-->
</project>
</cruisecontrol>
我的nant.build文件总是在看到任何修改时调用IDE。问题是它没有排队,即使我在ccnet.config文件中指定了???
由于 麦迪