Chaining up Builds

How can I chain up actions in order to get successive builds, like we can have with TeamCity or Hudson ?
Here's the process i'd like to execute
1-Continuous build (i already have this build working)
2-on build success, copy sources on a remote filesystem
3-on copy success, call a remote batch by url invocation
Any help would be appreciated !
Here's the process i'd like to execute
1-Continuous build (i already have this build working)
2-on build success, copy sources on a remote filesystem
3-on copy success, call a remote batch by url invocation
Any help would be appreciated !
17 answers

No, I wasn't aware of that one. I do know that Rational Software Analyzer integrates with RTC though for showing results in the build editor, process preconditions for ensuring checks are green before delivering changes, etc.
http://www-01.ibm.com/software/awdtools/swanalyzer/developer/index.html
http://www-01.ibm.com/software/awdtools/swanalyzer/developer/index.html

Another way to structure things for loading from ClearCase is to add the sync workspace as a target of the build workspace. That way, changes from the sync workspace will be accepted into the build workspace, and will be included in the build snapshot. Also, JBE will take care of the load then, and you won't need to use teamFetch in the script.

> Seems to me the problem was the 'requestUUIDProperty' parameter name (i chose 'requestUUID' first).
Ah, silly me for not noticing this. JBE sets the requestUUID property (for the original build), and Ant allows a property to be set at most once. So basically it was blocked waiting for itself.
It may have been possible to discover this by adding -verbose as a command line arg to Ant.
For the ClearCase Connector issue, you can load the contents of an arbitrary workspace using the teamFetch task. e.g.
<teamFetch workspaceName="CLONE_workspace" destination="c:\fetched" repositoryAddress="${repositoryAddress}" userId="${userId}" passwordFile="${passwordFile}"/>
Regards,
Nick
Ah, silly me for not noticing this. JBE sets the requestUUID property (for the original build), and Ant allows a property to be set at most once. So basically it was blocked waiting for itself.
It may have been possible to discover this by adding -verbose as a command line arg to Ant.
For the ClearCase Connector issue, you can load the contents of an arbitrary workspace using the teamFetch task. e.g.
<teamFetch workspaceName="CLONE_workspace" destination="c:\fetched" repositoryAddress="${repositoryAddress}" userId="${userId}" passwordFile="${passwordFile}"/>
Regards,
Nick

OK, it works now ! Thanks a lot !
Seems to me the problem was the 'requestUUIDProperty' parameter name (i chose 'requestUUID' first).
With requestUUIDProperty="MyRequestUUID"
it works !
Now, i have another difficulty with ClearcaseConnector.
I want to copy the source sfrom Clearcase to RTC with the CConnector, and then have different generations executed on the sources coming from clearcase (without merging enything from RTC repository).
The idea is to get the sources from the 'CLONE_workspace', but i don't know how to extract the sources from this workspace, to a local directory, through a specific generation.
Can someone help ?
Regards,
Guillaume
Seems to me the problem was the 'requestUUIDProperty' parameter name (i chose 'requestUUID' first).
With requestUUIDProperty="MyRequestUUID"
it works !
Now, i have another difficulty with ClearcaseConnector.
I want to copy the source sfrom Clearcase to RTC with the CConnector, and then have different generations executed on the sources coming from clearcase (without merging enything from RTC repository).
The idea is to get the sources from the 'CLONE_workspace', but i don't know how to extract the sources from this workspace, to a local directory, through a specific generation.
Can someone help ?
Regards,
Guillaume

The logic in the waitForTeamBuild task is really simple. It basically just does:
- fetch the build result (with refresh flag, to ignore any cached item)
- check if it's in one of the desired states
- if not, sleep for a bit and repeat, unless timed out
What is the network topology between the server and the build machines running JBE? Is there any difference if you run JBE on the same machine as the server? Is it possible there's some kind of caching proxy between the two (even if there were, it shouldn't be caching these kinds of requests, but you never know).
Which JDK are you using to run JBE (try java -version from the JBE directory)? If not already, can you try with the one included in the RTC client? For more context, see https://jazz.net/wiki/bin/view/Main/BuildFAQ#WhichJDK .
You could also try looking at the internal representations for the request and result (from the build machine).
- take the request UUID printed out by your <echo> statement
- in a browser, fetch the following, using the request UUID:
https://{your repository including /jazz suffix}/resource/itemOid/com.ibm.team.build.BuildRequest/_Mjt3IWGaEd-0PatKv_pDNA?_mediaType=text/json&_prettyPrint=true
- look through it for the result handle, e.g.:
"buildResult": {
"com.ibm.team.repository.typeName": "com.ibm.team.build.BuildResult",
"itemId": "_lSlEsF_FEd-WX8dOKD-Ydg",
"uri": "itemOid\/com.ibm.team.build.BuildResult\/_lSlEsF_FEd-WX8dOKD-Ydg"
},
- fetch the result, replacing the result item id (not the request item id) in:
https://{your repo}/resource/itemOid/com.ibm.team.build.BuildResult/_lSlEsF_FEd-WX8dOKD-Ydg?_mediaType=text/json&_prettyPrint=true
- look for the buildState, e.g.:
"buildState": "COMPLETED",
If you want to track the state of the child build as it proceeds, you only need to refresh the result url.
- fetch the build result (with refresh flag, to ignore any cached item)
- check if it's in one of the desired states
- if not, sleep for a bit and repeat, unless timed out
What is the network topology between the server and the build machines running JBE? Is there any difference if you run JBE on the same machine as the server? Is it possible there's some kind of caching proxy between the two (even if there were, it shouldn't be caching these kinds of requests, but you never know).
Which JDK are you using to run JBE (try java -version from the JBE directory)? If not already, can you try with the one included in the RTC client? For more context, see https://jazz.net/wiki/bin/view/Main/BuildFAQ#WhichJDK .
You could also try looking at the internal representations for the request and result (from the build machine).
- take the request UUID printed out by your <echo> statement
- in a browser, fetch the following, using the request UUID:
https://{your repository including /jazz suffix}/resource/itemOid/com.ibm.team.build.BuildRequest/_Mjt3IWGaEd-0PatKv_pDNA?_mediaType=text/json&_prettyPrint=true
- look through it for the result handle, e.g.:
"buildResult": {
"com.ibm.team.repository.typeName": "com.ibm.team.build.BuildResult",
"itemId": "_lSlEsF_FEd-WX8dOKD-Ydg",
"uri": "itemOid\/com.ibm.team.build.BuildResult\/_lSlEsF_FEd-WX8dOKD-Ydg"
},
- fetch the result, replacing the result item id (not the request item id) in:
https://{your repo}/resource/itemOid/com.ibm.team.build.BuildResult/_lSlEsF_FEd-WX8dOKD-Ydg?_mediaType=text/json&_prettyPrint=true
- look for the buildState, e.g.:
"buildState": "COMPLETED",
If you want to track the state of the child build as it proceeds, you only need to refresh the result url.
page 1of 1 pagesof 2 pages