RTC Jenkins Plugin
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
4 answers
I gotta try this with my custom application..(already working with the other RTC SCM plugin)
Comments
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.
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..
rtc toolkit must be on the master, also on the agents, in the same directory path
Comments
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
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.
- Open the Hudson Job configuration page and click This build is parameterized to enable Rational Team Concert to pass parameters to the Hudson job.
-
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
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
Comments
Arne Bister
JAZZ DEVELOPER May 21 '13, 4:42 p.m.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
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
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
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.