Build Pipeline (Hudson & Jenkins) Plugin 1.0.0 Released

Posted on

We are pleased to announce that we are donating the Centrum build pipeline plugin to the open source community.  This is a plugin developed for the popular Hudson and Jenkins Continuous Integration servers.

This was developed to assist with the orchestrating the promotion of a version of software through quality gates and into production. By extending the concepts of CI you can create a chain of jobs each one subjecting your build to quality assurance steps. These QA steps may be a combination of manual and automated steps. Once a build has passed all these, it can be automatically deployed into production.

Release Management, Continuous Integration, Automated Testing and Deployment Automation are all links in a chain that need to work together to get to high quality, low risk software deliveries.


The documentation is available from the Hudson and Jenkins wikis.


build pipeline
build pipeline

11 thoughts on “Build Pipeline (Hudson & Jenkins) Plugin 1.0.0 Released

    Martin said:
    March 10, 2011 at 11:30 pm

    Very nice, thanks.
    But, can you advise, how do I get upstream prpoject name and build number, so I can download its artifacts to workspace? For example, on your screenshot, Manual executing mp-prod-backup of revision 3257 would download artifacts from mp-preprod-deployment #245.
    Thanks, Martin

      Geoff Bullen said:
      March 11, 2011 at 1:40 pm

      Thanks for the feedback Martin,

      There are a few ways to achieve what you’re after in Jenkins and Hudson I think.

      1. if you use maven, you could retrieve the unique built artefact from your enterprise repo (NexusArtifactory etc)
      2. you could use the Clone Workspace SCM plugin to pass your workspace from one build to the next
      3. Or, there is the Parametrised Build Trigger plugin which will allow you to pass parameters from one build to the next in your deployment pipeline

      Hope that helps,


        Martin said:
        March 11, 2011 at 8:39 pm

        Hi Geoff,
        that’s not quite what I thought.
        With your suggestions, upstream workspace content is copied to my job. So I have the latest artefacts.

        But, let’s say, I want to run job and process artifacts from one of previous upstream builds, not from the latest build, which are in upstreams workspace. For that, I need upstreams name and buildId, so my scripts can find those artifacts, and process them.
        There is something similar in Parametrized build, where you can choose upstreams build in combo, and have its location in variable.

        My scenario: There is a commit stage producing artifacts. Another stage is testing those artifacts. Third stage is deploying artifacts to UAT environment. Here, in 3rd stage, I need to pick older tested artifact, and deploy it. I don’t want to pick the most recent one.


          Geoff Bullen said:
          March 11, 2011 at 10:10 pm

          Hey Martin,

          Yes, that is a common scenario. Myself, I often use Maven to handle that for me. Enterprise repos such as Nexus and Artefactory are set up for that. However, there are a few ways to keep the link between your pipeline and the artifact that progresses along it.

          How are you building your software? Let me know and I’ll try and help out…

    Geoff Bullen said:
    March 11, 2011 at 1:55 pm

    For a great introduction to the plugin from John Smart @ Wakaleo, have a look at this blog

    Mark Ryall said:
    March 17, 2011 at 10:56 pm

    This does look pretty sweet.

    I haven’t been able to determine exactly how downstream jobs receive the version information from the upstream job.

    For example, if JobA has a downstream project JobB and the latest version of JobA is 20 what gets passed into JobB if I manually trigger JobB for version 18 on the build pipeline view?

      Geoff Bullen said:
      March 18, 2011 at 8:15 am

      Hi Mark,

      There is no perfect way to do this yet, here is one way though that I was sharing with someone else recently:

      To access the upstream job and build number in your scripts, you can use the Job Exporter plugin. This will add those values to a properties file that it stores in the root of the workspace. Your scripts should then be able work with them fairly easily. The properties in question are: “build.upstream.number” and “build.upstream.project”

      So, as long as you can get from the build number to the artifact you need in the build step you should be able to achieve what you need to.

      Hope that helps… If you come up with a more elegant solution please let me know. And add an enhancement request if you fancy –



    Bruno P. Kinoshita said:
    March 22, 2011 at 10:01 pm

    Great plug-in! Thanks for donating it for the community. When you guys come to Brazil the first round of beer is on me. Cheers, Bruno.

    Blog bookmarks 04/05/2011 « My Diigo bookmarks responded:
    April 5, 2011 at 2:34 pm

    […] Build Pipeline (Hudson & Jenkins) Plugin 1.0.0 Released | Centrum Systems […]

    Kamal said:
    April 12, 2011 at 12:57 am

    I am not getting the revision number populated in pipe-line plugin.
    I am using mercurial.
    Plus is it possible to add date/time where “Duration” is displayed ? perhaps by making minor changes to the code, and if so where ?


    Build Pipeline Plugin For Hudson/Jenkins - Windy Road responded:
    April 19, 2011 at 2:16 pm

    […] looks to be a whole lot easier now thanks to Centrum Systems, who recently released a Build Pipeline Plugin for Jenkins. It looks like just the trick. If you want to give it a go, there is a good build pipeline […]

Leave a Reply

Your email address will not be published. Required fields are marked *