CCnet队列优先级没有排序

时间:2011-10-04 10:19:55

标签: cruisecontrol.net

我正在使用ccnet 1.6设置每晚构建以顺序和独占地运行项目,但是当触发构建时,我设置了队列,项目不按队列优先级定义的预期顺序启动。下面的配置首先随机地启动队列1,2,3或4,然后按照定义的顺序顺序完成剩余的项目(即2,1,3,4或3,1,2,4等)。我尝试过xlmns 1.6和1.5,结果相同。我不明白为什么这不起作用,我错过了什么? 感谢

 <cb:define name="Common">
  <webURL>http://hostname/ccnet/server/local/project\$(CCProjectName)\ViewLatestBuildReport.aspx</webURL>
  <workingDirectory>D:\source\$(ProjectName)</workingDirectory>
  <sourcecontrol type="svn"/>
  <modificationDelaySeconds>60</modificationDelaySeconds>   
  <triggers>
    <scheduleTrigger time="11:05" buildCondition="ForceBuild "/>
  </triggers>
  <state type="state" directory="C:\Program Files\CruiseControl.NET\server" />
</cb:define>

<cb:define name="BuildProject">
  <project name="$(CCProjectName)" queue="SequentialQueue" queuePriority="$(QueuePriority)">
    <cb:Common />
    <tasks>
      <exec>
        <executable>$(ANT_HOME)\bin\ant.bat</executable>
        <buildArgs>-logger org.apache.tools.ant.XmlLogger -logfile build_log.xml -f build\$(ProjectName).xml</buildArgs>
      </exec>
    </tasks>
    <publishers>
      <merge>
        <files>
          <file>D:\source\$(ProjectName)\build\*.xml</file>
        </files>
      </merge>
      <xmllogger /> 
    </publishers>
  </project>
</cb:define>    

<cb:BuildProject CCProjectName="API" ProjectName="api" QueuePriority="1" />

<cb:BuildProject CCProjectName="Ack" ProjectName="acknowledgement" QueuePriority="2" />

<cb:BuildProject CCProjectName="Error" ProjectName="error" QueuePriority="3" />

<cb:BuildProject CCProjectName="Monitoring" ProjectName="monitoring"  QueuePriority="4" />

1 个答案:

答案 0 :(得分:0)

我猜这是CruiseControl.Net中的一个错误,您的场景(由同一个计划触发器触发的一个队列中的可变优先级项目)并不常见。您应该在cruisecontrolnet.org上提交错误。

这种设置的一种更常见的解决方案是让项目使用<projectTrigger/>相互触发,这也会导致顺序构建。您可能希望更改triggerStatus参数,以便失败的构建不会阻止链。

相关问题