It's all about the answers!

Ask a question

How to enable concurrent job execution in Jenkins with the Team Concert plugin


Zoe Slattery (4011320) | asked Apr 11 '14, 4:30 p.m.
We are using RTC v 4.0.6 and version 1.0.12 of the Team Concert plugin. Consider the following scenario:

There is a Jenkins job called "TestBucket" linked to an RTC build definition called "TestBucketBuildDef". The Jenkins job has the "Execute concurrent builds if necessary" field checked,  Jenkins is configured to run 6 concurrent jobs.

Developer A has made some changes to his code and checked them into a workspace. He would like to be able to run "TestBucket" before delivering to a stream. He can do this by requesting a private build of his work space using the "TestBucketBuildDef". Now Developer B would like to do the same thing.

At this point Jenkins and RTC get confused. The build definition in RTC has the load directory configured as ~/jenkins_home/workspace/testbucket, but Jenkins tries to run the second job in a directory called ~/jenkins_home/workspace/testbucket@2 - it looks as though the RTC load directory needs to be modified on the fly somehow to match the directory that Jenkins expects for the 2nd, 3rd...nth concurrent jobs.

Is there any way to run concurrent jobs with the Team Concert plugin? I can see that it would be possible for different jobs, so we could set up a Job/Build definition for Developer A, Developer B etc. But this does not seem scalable.

Any advice appreciated.

One answer



permanent link
Zoe Slattery (4011320) | answered Apr 11 '14, 6:41 p.m.
OK - I may have answered my own questions.

I think the build definition has to have a load directory that looks like this:
~/jenkins_home/personalbuilds/${dir}

Then the developer has to add a property called 'dir'  when they request a personal build which will be the directory name that RTC extracts to.

Then the first step in the Jenkins job has to be something like:
cp -r $team_scm_fetchDestination $WORKSPACE

And after that everything should run OK.




Your answer


Register or to post your answer.