Sean's Musings as a Service

Sean's Musings as a Service

Rational Team Concert build integration cheatsheet

  • Published:
  • categories: ibm
  • tags: ant, automation, build, continuous-integration, integration, jazz, rational-team-concert, rtc

There are lots of resources scattered about for this1 2, but delivered some training and decided it was worth while to try and put together a one page reference to the existing information.

This is only meant to be a helper specifically from a Rational Team Concert centric view as the title may imply, so assume that we are using Jazz SCM and Jazz Builds.

Outline

  • Build Overview
  • Build Engine Types
  • Build Types
  • Build Time Integrations

Build Overview:

First place to start if you are just getting started would be the documentation3 and/or the Build FAQ4. These two are pretty extensive and will probably take you a few hours to go through, but spending some time up front will help you understand the overall picture and save you lots of time later.

From here on out I assume that you understand the basic concepts of how RTC builds work at a high-level, you can create Build Engines and Build Definitions and are ready to learn beyond the basics. Below is the overall build tool/integration landscape from a 10K foot type view.

RTC build whiteboarding


Build Engine Types:

Jazz Build Engine (JBE)

This is the default build engine type available out of the box, it can be used on all the supported distributed platforms. It’s great for getting process. started but flexible enough to grow with you if you have a sophisticated build and delivery. Generally I find the point where a transition from the JBE to another build engine type, is based on the amount of complexity you put in your build tool versus what is embedded in your build process.

Pros:

  • Easy to use
  • Seamless integration with Jazz SCM
  • Support for Ant, Maven, MSBuild, and a via a generic command line.
  • No MainFrame support (that relies on Build Forge)
  • API support

Cons:

  • Limited to supported Jazz platforms
  • Serial builds per engine
  • Single entry point

Build Forge

Requires that you have Build Forge firstly, and if you do you likely have your corporate build process and/or standard. The integration capabilities allow you to continue to leverage Build Forge with RTC.

Pros:

  • Centralized build process
  • Advanced Dashboarding and Reporting
  • Supports many platforms and provides a source kit for compiling for other POSIX platforms
  • Can support parallel and serial builds, scale to hundreds of build
  • Promote re-usablity via building block automation paradigm
  • Conditional execution behavior
  • API support

Cons:

  • Requires additional calls to integrate with Jazz SCM
  • Added complexity for simple builds

Hudson / Jenkins

Very popular in the Java world, and this integration allows you to leverage your existing Hudson/Jenkins infrastructure from within RTC.

Pros:

  • Huge community support
  • Plugin Integration Architecture - Large available catalog of plugins for integrating various technologies
  • Advanced Dashboards and Reporting
  • Support for any technology via a generic command line
  • Supports many platforms
  • API support

Cons:

  • Requires additional calls to integrate with Jazz SCM
  • Plugin integrations are patchwork and unsupported

Build Types:

  • Ant
  • Maven
  • MSBuild
  • CLI
  • MainFrame ?

Build Time Integrations:

  • Jazz build toolkit (antlib)
  • RAM build toolkit (antlib)
Reference:

Maven:

Hudson: