Build Pipeline Plugin

Plugin Information

Plugin ID build-pipeline-plugin
Latest Release 1.3.4-h-1
Latest Release Date Sep 17, 2013
Sources Github
Support Eclipse Hudson Forum
Issue Tracking Eclipse Bugzilla

Summary

This plugin creates a pipeline of Hudson\Jenkins jobs and gives a view so that you can visualise it.

Release Notes

1.2.2
1.2.1
1.2
1.1.2
1.1.1
1.0.0

Overview

Continuous Integration has become a widely adopted practice in modern software development. Jenkins & Hudson are great tools for supporting Continuous Integration.

Taking it to the next level: Continuous integration can become the centerpiece of your deployment pipeline, 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.

In order to better support this process, we have developed the Build Pipeline Plugin. This gives the ability to form a chain of jobs based on their upstream\downstream dependencies. Downstream jobs may, as per the default behaviours, be triggered automatically ,or by a suitable authorised user manually triggering it.

You can also see a history of pipelines in a view, the current status and where each version got to in the chain based on it's revision number in VCS.

Feedback

We'd love to hear about your experience using it or any enhancement suggestions - please let us know:

Screenshots

The Pipeline View

Configure View Navigate to the configure view page.
Start Build of Pipeline for ... Invokes a new build of the initial job in the build pipeline.
View/Hide Build Pipeline Icon Legend Toggles the view of the Build Pipeline Icon legend.

Pipeline Legend

Configuration

View Configuration

  1. Install the plugin using the Hudson\Jenkins Plugin Manager and restart.
  2. Create a view of the new type Build Pipeline View.
    You will then be redirected directly to the configuration page.
  3. The table below outlines what each interesting parameter controls:
    Name The name of the Build Pipeline View
    Description This message will be displayed on the view page. Useful for describing what this view is about, or linking to relevant resources. Can contain HTML tags.
    Build Pipeline View Title Gives a title to the page that displays the view
    Select Initial Job This is the first job in the build pipeline. It will traverse through the downstream jobs to build up the entire build pipeline.
    Select from a drop-down list of jobs.
    No of Displayed Builds The number of historical builds to be displayed on a page.
    Restrict Trigger to the Most Recent Build Where applicable, restricts the appearance of a Trigger button to only the most recent build pipeline.
    Yes: Only the latest build pipeline will have a manual trigger button.
    No: All builds displayed on the view will have a manual trigger button.

Job Configuration

  1. Navigate to the Job configuration page.
  2. Scroll down to the Post-build Actions section.
    1. For an Automated downstream build step;
      To add a build step that will trigger automatically upon the successful completion of the previous one:
      1. Select the Build other projects check-box
      2. Enter the name(s) of the downstream projects in the Projects to build field. (n.b. Multiple projects can be specified by using comma, like "abc, def".)
    2. For a Manually Triggered downstream build step:
      To add a build step that will wait for a manual trigger:
      1. Select the Build Pipeline Plugin -> Manually Execute Downstream Project check-box
      2. Enter the name(s) of the downstream projects in the Downstream Project Names field. (n.b. Multiple projects can be specified by using comma, like "abc, def".)
  3. Click Save
Automatic & Manual downstream build steps
The Build Pipeline Plugin handles the creation of multiple automatic and/or manually triggered downstream build steps on the same project.

Upgrading from Release 1.0.0

When upgrading from 1.0.0 to 1.1.1 some of the previous view and job configuration fields have been removed. You may notice some errors of the following errors appearing in the Hudson/Jenkins log.

WARNING: Skipping a non-existent field downstreamProjectName
com.thoughtworks.xstream.converters.reflection.NonExistentFieldException: No such field au.com.centrumsystems.hudson.plugin.buildpipeline.trigger.BuildPipelineTrigger.downstreamProjectName

This is because the configuration files refer to old fields that may no longer exist.
In order to correct these issues go to the Job configuration page, confirm that all of the details are correct and click on the Save button.

Source Code

Hosted on Google Code

This is hosted on Google Code so that we can support both Jenkins and Hudson.

Please use Google Code rather than this page to ask questions, report bugs and request features.

More on Pipelines

The canonical reference for pipelines is the book Continuous Delivery.

Chapter 5 of the book, which describes how deployment pipelines work, is available for free here.

Commercial Support

Are you facing these challenges as you try to meet your delivery commitments?

  • It takes a long time for projects or new development resources to become productive.
  • Inability to scale resources or development partners to meet business demands.
  • Inconsistent quality of software deliverables across project teams or suppliers.
  • Error prone manual build processes which are difficult to scale
  • Inconsistent application of tools and processes resulting in key resource dependencies.
  • Dependency on hero factor in software deployments – asking too much of individuals to successfully implement software.
  • Uncertainty around the impact of change
  • Lack of visibility of the quality or status of change until late in the delivery lifecycle.
  • Spiralling costs of change due to ever increasing technical debt

Centrum Systems have developed an offering we call Software Delivery Mastery (SDM). We can help in the following areas:

  • Software build process
  • Continuous integration
  • Deployment automation
  • Automated inspection and testing
  • Environment provisioning and configuration management
  • Project inception / developer on-boarding.

For information about how we can help you please contact us or visit [www.centrumsystems.com.au]

Labels:

plugin-post-build plugin-post-build Delete
tier3-compat-plugin tier3-compat-plugin Delete
plugin-builder plugin-builder Delete
Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.
  1. Mar 10, 2011

    Martin Balint says:

    Very nice, thanks. But, can you advise, how do I get upstream project name and b...

    Very nice, thanks.
    But, can you advise, how do I get upstream project 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.

    1. Mar 10, 2011

      Geoff Bullen says:

      Hi Martin, I responded to the comment you left on our blog - http://www.centrum...

      Hi Martin,

      I responded to the comment you left on our blog - http://www.centrumsystems.com.au/blog/?p=121

      Let me know if that doesn't answer your question...

  2. Mar 10, 2011

    Daniel Kirkdorffer says:

    Can't seem to configure this.  When I go to the configure page the drop dow...

    Can't seem to configure this.  When I go to the configure page the drop downs for Select Initial Job and No Of Displayed Builds are empty. The information icon for the former yields ERROR: Failed to load help file: Internal Server Error.

    1. Mar 10, 2011

      Geoff Bullen says:

      Hey Daniel, Sorry you're having problems, we haven't come across that before. ...

      Hey Daniel,

      Sorry you're having problems, we haven't come across that before. Could you raise an issue @ http://code.google.com/p/build-pipeline-plugin/issues/list and attach logs and a screen shot please?

  3. Mar 10, 2011

    Daniel Kirkdorffer says:

    How does one remove this view after it has been created?

    How does one remove this view after it has been created?

    1. Mar 10, 2011

      Daniel Kirkdorffer says:

      Nevermind.  I see the link when on the configure page.

      Nevermind.  I see the link when on the configure page.

  4. Mar 23, 2011

    Daniel Kirkdorffer says:

    Can someone help me understand how to use this plugin? The article at http://ww...

    Can someone help me understand how to use this plugin?

    The article at http://www.wakaleo.com/blog/312-build-pipelines-with-jenkinshudson says:

    The Build Pipelines plugin uses the standard upstream and downstream build configurations, and for automatic steps this is all you need to do. However the Build Pipeline plugin also supports manual build steps, where a user has to manually approve the next step. For manual steps, you also need to configure In the Post-build Actions of your upstream build job: just tick the 'Build Pipeline Plugin -> Specify Downstream Project', select the next step in your project, and tick the 'Require manual build executor' option, as shown here.

    What I want is to show the work flow.  We have various jobs that move code from environment to environment.  When I "Specify Downstream Project" all that does is put a "Next" button in my workflow (or it would if images were displaying correctly.  It doesn't show me the downstream builds.

    Do these only get tied together if you kick them off by clicking the "Manual Execution" button?  I thought that it would do that automatically based on job run timestamps.

    Thanks in advance.

    Dan

    1. Mar 25, 2011

      Daniel Kirkdorffer says:

      Or not. Unfortunately while the intent of this plugin is good, the execution is...

      Or not.

      Unfortunately while the intent of this plugin is good, the execution is not yet there.  We've had to turn it off because of all the issues we've come across with it.

      1. Mar 30, 2011

        Geoff Bullen says:

        Hi Daniel, Sorry that you've been having problems with R1 of this plugin. We...

        Hi Daniel,

        Sorry that you've been having problems with R1 of this plugin. We're hoping to get a new release out soon that fixes up a lot of the issues that have been raised on the issue tracker - http://code.google.com/p/build-pipeline-plugin/issues . Could you make sure you're adding issues for all the bugs you're finding?

        Cheers, Geoff.

        1. Apr 04, 2011

          Daniel Kirkdorffer says:

          Geoff - I've entered the issues I've come across. Thanks.

          Geoff - I've entered the issues I've come across.

          Thanks.

          1. Apr 13, 2011

            Geoff Bullen says:

            Daniel, have a go with 1.1. http://www.centrumsystems.com.au/blog/?p=165 Big...

            Daniel, have a go with 1.1.

            http://www.centrumsystems.com.au/blog/?p=165

            Big step forward in our view

            Cheers, Geoff

            1. Apr 29, 2011

              Daniel Kirkdorffer says:

              Thanks for the improvements.  Checking it out now.

              Thanks for the improvements.  Checking it out now.