It's all about the answers!

Ask a question

Starting a JBE build engine for Hudson/Jenkins on CLI fails in RTC 4.0.2, where that same engine worked in 4.0.1


Danny Beerens (801723) | asked Jun 10 '13, 7:58 a.m.
edited Jun 10 '13, 12:49 p.m. by Spencer Murata (2.3k115970)
The CMD script we've used to start a JBE Hudson/Jenkins build engine in RTC 4.0.1, fails in RTC 4.0.2.
The return codes explain we cannot use -engineID for a Hudson/Jenkins configured JBE, but we need to use -buildResultUUID.
However there's no explanation, nor example, that describes how the -buildResultUUID should be used in combination with calling JBE from CLI.

Please help!

Comments
Danny Beerens commented Jun 10 '13, 8:03 a.m.
C:\Program Files (x86)\IBM\IBM Rational Team Concert Buildsystem\buildsystem\buildengine\eclipse>jbe -vm "C:\Program Files (x86)\IBM\TeamConcert\jdk\bin\java"
repository https://rtcemea1.philips.com:9443/ccm/ -userId NLYBSTQVP4-sys24 -passwordFile C:\Data\RTC\passwords\NLYBSTQVP4-sys24-pwd.txt -engineId nlybstqvp4dt7
n.startjenkinsjob
2013-06-10 13:47:23 [Jazz build engine] Running build loop...
2013-06-10 13:47:23 [Jazz build engine] Waiting for request...
2013-06-10 13:47:26 [Jazz build engine] Exception occurred in build loop: CRRTC3540E: The following build engine is a Hudson/Jenkins build engine: "nlybstqvp4d
7hn.startjenkinsjob". Only engines of type "Jazz Build Engine" can be used with the "-engineId" argument. For more details, open the help system and search for
CRRTC3540E.

CRRTC3529W: The execution of Jazz Build Engine completed with a non-zero return code (RC=1). For more details, open the help system and search for CRRTC3529W. 


Danny Beerens commented Jun 10 '13, 8:06 a.m. | edited Jun 10 '13, 8:06 a.m.
CRRTC3540E
The following build engine is a Hudson/Jenkins build engine: "{0}". Only engines of type "Jazz Build Engine" can be used with the "-engineId" argument.
Explanation
A Hudson/Jenkins build engine was specified in the "-engineId" argument. However, when the Jazz Build Engine is run in its normal daemon form, only engines of type "Jazz Build Engine" can be used with the "-engineId" argument.
User response
When you run the Jazz Build Engine in its normal daemon form and you use the "-engineId" argument, use an engine of type "Jazz Build Engine". If you want to use a Hudson/Jenkins engine, when you start the Jazz Build Engine, use the "-buildResultUUID" argument.

However it is not explained how to use the "-buildResultUUID" argument.
We never had this system reply under 4.0.1.

Danny Beerens commented Jun 10 '13, 8:09 a.m. | edited Jun 10 '13, 8:13 a.m.
Update the CMD script, by including -buildResultUUID:

C:\Program Files (x86)\IBM\IBM Rational Team Concert Buildsystem\buildsystem\buildengine\eclipse>jbe -vm "C:\Program Files (x86)\IBM\TeamConcert\jdk\bin\java"

repository https://rtcemea1.philips.com:9443/ccm/ -userId NLYBSTQVP4-sys24 -passwordFile C:\Data\RTC\passwords\NLYBSTQVP4-sys24-pwd.txt -engineId nlybstqvp4dt7
n.startjenkinsjob -buildResultUUID ${buildResultUUID}
2013-06-10 13:59:47 [Jazz build engine] Searching for buildResultUUID=${buildResultUUID}
2013-06-10 13:59:50 [Jazz build engine] CRRTC3528W: Warning: The build result is either not in the repository, or it cannot be accessed by the following user:
NLYBSTQVP4-sys24". The UUID of the build results is "${buildResultUUID}". For more details, open the help system and search for CRRTC3528W.
In both Engine as Build definition "buildResultUUID"  was added.


Danny Beerens commented Jun 10 '13, 8:12 a.m.
Leaving out -engineID:

C:\Program Files (x86)\IBM\IBM Rational Team Concert Buildsystem\buildsystem\buildengine\eclipse>jbe -vm "C:\Program Files (x86)\IBM\TeamConcert\jdk\bin\java"

repository https://rtcemea1.philips.com:9443/ccm/ -userId NLYBSTQVP4-sys24 -passwordFile C:\Data\RTC\passwords\NLYBSTQVP4-sys24-pwd.txt -buildResultUUID ${buil
ResultUUID}
CRRTC3501E: The following required argument is missing: "-engineId". For more details, open the help system and search for CRRTC3501E.

2 answers



permanent link
Scott Cowan (966310) | answered Jun 10 '13, 11:52 a.m.
JAZZ DEVELOPER
Hi Danny,

I'm sorry about this trail of error codes.  The only really important one is the first one you saw ... CRRTC3540E.  This one is trying to explain that a Jazz Build Engine is not required for a Hudson/Jenkins build engine, because Hudson/Jenkins *is* the build engine.  In other words, your Hudson/Jenkins replaces the need for a JBE.

Here's the online help from 4.0.2
http://pic.dhe.ibm.com/infocenter/clmhelp/v4r0m2/index.jsp?topic=/com.ibm.team.build.doc/topics/c_hudson_overview.html

I don't believe it has changed much since 4.0.1
http://pic.dhe.ibm.com/infocenter/clmhelp/v4r0m1/topic/com.ibm.team.build.doc/topics/c_hudson_overview.html

So, try requesting a build without the JBE running on your build engine and you should see your build execute just fine.

Scott

permanent link
Spencer Murata (2.3k115970) | answered Jun 10 '13, 12:43 p.m.
FORUM MODERATOR / JAZZ DEVELOPER
 The -buildId flag for JBE will connect to a particular engine on RTC and start polling that engine for requests.  This is not usually what you want for a third party build engine like Hudson because it will remain in a daemon mode, polling that engine.  So if you only specify the engineId it will complain if the engine is non-JBE.  But if you want the JBE to run something as a one shot, you would want the -buildResultUUID, which assumes that a build has already been created, for example the RTC build that started the Hudson build.   The JBE can then use that build result to run.  This is useful for executing the JazzSCM participant on the build result by specifying it in the -participants flag for the JBE.  This hasn't really changed lately though, so I don't know why this worked before for you.

~Spencer

Your answer


Register or to post your answer.