Introduction
Build tool (CCB) is used for construction of many Rational products. Each product is subdivided into a set of smaller components which are built in parallel. Builds can be kicked off either from command line, or from RTC IDE either manually or on a schedule.
Scenario 1: single product build
- User makes a build request in RTC (Rational Team Concert)
- Jazz build result is created and goes into in-progress state
- RTC invokes build tool which fetches product sources and starts the build of product components
- For each product component the build tool
- builds product artifacts (zips, urls, etc) and log files, and publishes them to jazz build result in RTC
- executes various code scans and publishes results (report files, urls) to jazz build resuilt in RTC
- executes system and JUnit tests and publishes them to jazz build result in RTC
- The build tool publishes various parameters about itself to the jazz build result (build tool version, etc.)
- The build tool publishes build input and output information to the jazz build result
- Jazz build result goes into completed state
Scenario 2: main product build followed by system test build
- Same as Scenario 1 but in addition as soon as main product build is complete, a second (System Test) build is kicked off
- System test build executes a set of tests based on artifacts produced from the main build
- System test build publishes its results to the main product build
Scenario 3: stack of product builds
This is the case when several interdependent products (like CLM which consumes Foundation, RQM, RRC, etc) are built in certain order based on their dependencies. I'm not going into details about how dependencies between products from the stack are managed (except that downstream build results will likely be accessed from main stack build to determine if the build should continue). Product builds from the stack can happen in parallel too.
- Stack product build is kicked off which in turn kicks off downstream product builds
- Jazz build results are created for both stack build and individual builds from the stack
- As each downstream product build finishes it publishes its artifacts to both the product and stack build results
- When all product builds from the stack are complete the stack build result is completed
- Optional. Same as Scenario2 but applied to the stack build. This is the case when test build for the whole stack is executed.
--
BarysDubauski - 03 Nov 2011