.net – Cruise control.NET Integration queues? – Education Career Blog

This is a doubt regarding the material published in the
following link
http://confluence.public.thoughtworks.org/display/CCNET/Integratio+Queues

which tells that “The default behaviour of CruiseControl.Net is that
each project defined in the configuration is given its own integration
thread, thereby allowing differently named projects to build
concurrently.

Note however that a single project can never be building more than
once at the same time. If you force a build on Project X while it is
already integrating, that force build request is effectively blocked
until the previous integration completes. So you can also think of
this as each project having its own dedicated integration queue, where
only the item at the head of the queue can be currently building, with
at most one request pending.”

But this is really contradicting in my case as when i force my build
it opens my IDE and starts the integration and building which takes
about 3 min approx. but when i force my build in between the execution
on my webdash board i see that it again opens another IDE and starts
the building which is not acceptable.According to the link shown
above,it should queue and wait for the 1st IDE execution to complete
and then go for the 2nd one.

Can u plz suggest any solution to this problem??

with kind regards
Maddy

,

We use Integration Queues for a pipe-lining purpose in-case your Projects have dependencies and u want to Build them in an order.

This is how it works:

  ...
  <!-- 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

,

This is the ccnet.config file shown below
cruisecontrol>

 <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>

My nant.build file is invoking an IDE always when it sees any modification.The problem is it doesnt queue even though i specify that in my ccnet.config file???

Thanks
Maddy

,

Maybe this is a problem (from the CCNet docs, even I didn’t know about this setting):

duplicates: Specification of how to handle duplicate requests within a queue. Possible values are UseFirst, ApplyForceBuildsReplace and ApplyForceBuildsReAdd.

http://confluence.public.thoughtworks.org/display/CCNET/Queue+Configuration

Leave a Comment