It's all about the answers!

Ask a question

RTC Jenkins Plugin


SUNIL KUURAM (6431723) | asked May 21 '13, 4:12 p.m.

I was evaluating the RTC Jenkins plugin at this URL -

https://wiki.jenkins-ci.org/display/JENKINS/Team+Concert+Plugin

I know the first version that just came out but I wonder about the features...

- The plugin helps to relate a jenkins job with an RTC build definition. The integration looks weird as the jenkins job should select and RTC build definition and the vice versa

- The integration reads just the "RTC workspace" specified on the RTC build definition, accepts changes into the workspace. Thats all! jenkins build results are not published to RTC. Build properties in RTC don't get passed to Jenkins job

Not sure what we get out of this integration.

Thanks

Sunil


Comments
Arne Bister commented May 21 '13, 4:42 p.m.
JAZZ DEVELOPER

Hi Sunil,
there is a task 261661 that links a video about the Jenkins plugin and what it does with RTC builds. Does this look like what you see?

- Arne


SUNIL KUURAM commented May 21 '13, 5:37 p.m.

Thanks a lot for the video. I have just looked at it.

A few comments -

- I understand this is the official plugin from IBM that allows jenkins jobs to reference RTC SCM to fetch and build source code
- What I don't understand is the Build Definition association. What does this plugin has to offer to complement/supplement the RTC - Jenkins integration available already?

- Requring the association of Jenkins job with Build Definition and vice versa looks weird
- Properties, build workspace, and build steps are the key for any build. Wouldn't it cause confusion on what properties were used when builds are launched from either side? I know this is similar to RTC-Buildforge integration but I don't see anyone referencing/recommending builds kicking of from both RTC and Buildforge
- The video doesn't show builds kicked off from Jenkins, but it seems logs don't get published in this case. I can see the RTC build properties on the build result though, which is misleading (those properties were never used by the build!)

Thanks
Sunil


sam detweiler commented May 21 '13, 7:20 p.m.

I think selecting to start one of these builds FROM Jenkins should kick the RTC 'request a build', but you would have to 'start' the build before you could get control to send a request to RTC to start the build..  but maybe the two could coordinate..



SUNIL KUURAM commented May 21 '13, 7:27 p.m.

That is correct. selecting and starting a jenkins build will prompt for buildResultUUID. I left this one blank and submitted the build. This correctly publishes jenkins build into RTC as say build #9 as mentioned in the video. Just that the build logs aren't published.

4 answers



permanent link
sam detweiler (12.4k6180201) | answered May 21 '13, 4:30 p.m.
thanks for your post.. I missed the announcement of this plugin (Sorry Nick and team!)

I gotta try this with my custom application..(already working with the other RTC SCM plugin)


Comments
sam detweiler commented May 21 '13, 5:53 p.m. | edited May 21 '13, 6:18 p.m.

Sorry, got a question..

trying to configure.. the build toolkit..
'List of RTC Build toolkit installations on this system'
what does 'on this system' mean? 
my config is 100% master/slave and no builds are ever executed on the master.

for the *ix build agent systems the build toolkit is off /opt
for the windows agent systems, the build toolkit is off c:\

I also see the config on the agent, but you have to select from a list first, then override the location. 

so I go back to configure system... but.. none of my tools are on the master, again  it just runs the job scheduling.. not any of the actual job work.  so I can't define the toolkits cause they aren't ON that system. they are only installed on the slaves.


sam detweiler commented May 21 '13, 7:23 p.m.

I had to install the build toolkit on the jenkins server and the agent to get the definition to work in the job.

I wish it showed me the build configurations from jenkins UI dynamically, vs me having to go find it/cut/paste it in...

using the workspace approach worked.. and my old build runs fine with the new configuration.. AND only loads the changed files instead of the entire workspace.. so that is a huge gain.. and changing the build def on RTC to launch the new build works fine too..


SUNIL KUURAM commented May 21 '13, 7:30 p.m.

rtc toolkit must be on the master, also on the agents, in the same directory path


permanent link
Adrian Daniels (6312020) | answered Aug 15 '14, 8:03 a.m.
 Hi,

So I am using the latest Plugin for Jenkins and cannot quite see how to tell Jenkins where the build.xml file is in my workspace - so it kind of relates to this thread.

When invoking Ant from a normal JBE you can use the property team.scm.workspaceUUID to specify where Ant should look for the build.xml file - which is always loaded in my workspace.

I can see in Jenkins that I can set an absolute path for the build.xml file, but this is not very good if I want the same Jenkins build to be fired from from multiple users.

I am sure that I am missing something simple here !!

Cheers
Adrian

Comments
sam detweiler commented Aug 15 '14, 8:19 a.m.

do you have the Invoke Ant build step? push the advanced button and fill in the build file location field.  which can take symbolics

you need to install the Ant plugin for that

otherwise you just and the command shell commandline..

RTC just launches the job. you could design parms to pass, but as noted other places, these are not auto passed to the job environment variables


permanent link
Adrian Daniels (6312020) | answered Aug 15 '14, 8:27 a.m.
 Hi Sam,

I pushed the advance button, but could not work out the syntax to get something like team.scm.workspaceUUID to be used ?

Cheers
Adrian

permanent link
sam detweiler (12.4k6180201) | answered Aug 15 '14, 8:45 a.m.
thats cause that plugin wants file path..

you would have to make a property in the rtc build def, for the path and use that in the workspace parm, then make a jenkins job parameter to pick it up on the jenkins side so you can use it there too.

from  https://jazz.net/library/article/840

Edit your Hudson job to allow Rational Team Concert build properties to be passed into the Hudson build.
  1. Open the Hudson Job configuration page and click This build is parameterized to enable Rational Team Concert to pass parameters to the Hudson job.
  2. Declare the parameters in Hudson. If you do not declare the parameters, Hudson cannot use them in the build, even if the parameters are sent. The following variables are sent by Rational Team Concert. These parameters are case sensitive.
    Variable Description
    requestUUID UUID of the build request
    buildResultUUID UUID of the build result
    buildDefinitionId ID of the build definition
    repositoryAddress Address to the build web application that requested the build
    buildEngineId ID of the build engine
    buildEngineHostName Host name of the Hudson serverM
    buildRequesterUserId ID of the user who requested the build


Comments
sam detweiler commented Aug 15 '14, 11:46 a.m.

and you can pass a parameter value into 'custom workspace', but its very tricky.

the handler for this field looks at the 1`st char, and it its '/' assumes the following data is the absolute path. if not, it is relative to the jenkins root dir...

this is cool, except on windows where u might need it on another drive (like I do).
my M: drive is for builds.  
hard coded it works
${env_var} is jenkins_default/${env_var}
/${env_var} is /${env_var}

only hard coded works in this instance

Your answer


Register or to post your answer.