puppetlabs/packaging — pull request #159 by melissaanne (2013-07-03 20:54:54+00:00)
Title: Create dynamic Jenkins jobs

This addition allows users to dynamically create and kick off matrix jenkins jobs. It does this by replacing the old pl:jenkins:uber_build rake task. This new uber_build takes the build properties of the particular build you want to kick off, and uses that information to dynamically create three xml files (packaging.xml, repo.xml, and downstream.xml) from erb templates. These xml files are used to remotely build new jenkins jobs, one per xml file. Once these are built, the rake task kicks off the packaging job. This is a matrix job that runs rake package:bootstrap, and one of the cells of the matrix on a slave. These cells have one of either pl:deb with a COW, pl:mock with a MOCK, package:gem, or package:apple. Once each of these matrix cells finishes, the repo job is triggered to generate the apt and yum repos from the packages built by jenkins. If a downstream job was specified with DOWNSTREAM_JOB, the repo job will trigger that. This infrastructure depends on the jenkins_api_client, which is vendored in this merge.