Jenkins : Get up and running with ClearCase UCM plugin for Jenkins in 11 easy steps

Prerequisites (4 steps)

  1. On Jenkins Master, go to Manage Jenkins->Manage Plugins->Available and install the ClearCase UCM Plugin
  2. Install ClearCase on each slave and the master
  3. Verify the Service user is ClearCase Admin.
    1. The user account that runs the Jenkins must be seen by ClearCase as a member of ClearCase Admins Group. While you are at this, please log in as that user, configure the CLEARCASE_PRIMARY_GROUP, on each slave (and the master) so it point to your generic ClearCase Users Group. Please see About the CLEARCASE_PRIMARY_GROUP variable for more details. Must be done on each slave - and on the master.
    2. In case of multisite - and if a build slave runs on a different site than the master, then the jenkins service user, must be member of the ClearCase Administrators Group for that site.
  4. Please read this section: ClearCase UCM Plugin - Advanced SCM Setup and then create a ClearCase UCM Project named "jenkins" and the hyperlink type "tag" in each PVOB that will be looked at by the plugin.

The first job (4 steps)

  1. Create a new jenkins job (or project) by clicking the "New Job" link, give it a name and select Build a free-style software project
  2. In section "Source Code Management", select ClearCase UCM, and enter appropiate, fully qualified values for stream and component, like "SomeStream_Integration@<vobtag>" and "_RootLessComponent@<vobtag>" - it it important to remember the vob qualifier. (For this initial test job, select a development stream of your own, and leave the poling mode as "Poll self"
  3. Add a build step - that will bulid your code - and for convenience, tick off the "Poll SCM" and fill out reasonable values.
  4. Save the Jenkins job, go to you development and make a baseline - and see that after polling have completed, Jenkins finds the new baseline, and starts your build.

By this you are basically in business, and can start creating more jobs, that monitors more streams, and adds more rigorous testing and reporting to the build process - but wait! - that was only 8 steps? Well, you can if you have ClearCase Multisite, you can configure a bit more, and go all the way...

With Multisite and development with mixed mastership (3 steps)

  1. On Jenkins, go to Manage Jenkins, Scroll to the ClearCase UCM section, and tick off the "Poll for Posted Deliveries" checkbox
  2. On each site install our ACC_DELIVER_BASELINE trigger ( see ACC_DELIVER_BASELINE Trigger , where you will find installation instructions)
    1. Short version of installation instructions for the trigger are: Use a mercurial client to clone the ACC repository from https://fogbugz.praqma.net/kiln/Code/acc/Development/Stable; to a file share accessible on each site 
    2. Create the ClearCase attribute object type named "ACC_VOBType" in the PVOB, attach the attribute with value "ccucm_plugin_supported" in and on the replicated PVOB.
    3. When that change as been replicated, install the trigger by calling "ratlperl <unc_path_to_deliver_bl.pl> -install -vob <vobtag>" - see all the details the triggers wiki page referenced above.
  3. Create a Jenkins job, that monitors an integration stream, and set the poll mode to Poll Child

Now, whether you - who are assumed to be "local" to the integration stream - or your colleague on the remote site, are ready to with some code, you - or your colleague - will make a baseline, which will be found by the ClearCase UCM Plugin, and a build will be started.