Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

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

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!

0 votes

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

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.

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.

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

1 vote


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

1 vote

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 6,121
× 562

Question asked: Jun 10 '13, 7:58 a.m.

Question was seen: 7,484 times

Last updated: Jun 10 '13, 12:49 p.m.

Confirmation Cancel Confirm