Giter Club home page Giter Club logo

pipeline-stage-view-plugin's Introduction

Pipeline Stage View Plugin

Jenkins Plugin Changelog Jenkins Plugin Installs

Version history

See the changelog

Stage View: 

When you have complex build Pipelines, it is useful to be able to see the progress of each stage.  The Pipeline Stage View plugin includes an extended visualization of Pipeline build history on the index page of a flow project, under Stage View. (You can also click on Full Stage View to get a full-screen view.)

To take advantage of this view, you need to define stages in your flow. You can have as many stages as you like, in a linear sequence. (They may be inside other steps such as 'node' if that is convenient.) Give each a short name that will appear in the GUI.

node {
  stage ('Checkout') {
    svn 'https://svn.mycorp/trunk/'
    stage 'Build'
    sh 'make all'
    stage 'Test'
    sh 'make test'
  }
}

When you run some builds, the stage view will appear with CheckoutBuild, and Test columns, and one row per build. When hovering over a stage cell you can click the Logs button to see log messages printed in that stage: after the preceding stage step and before the next one.

Other important events are also indicated with special buttons, either in a stage cell or for the build as a whole. If a build is waiting in an input step, you will be able to tell it to proceed (or not). Download can be used to obtain any artifacts archived by a build. 

Each row also records the build number, date it was started, and any changelog entries from a version control system. Progress bars also indicate how long each stage is taking and how long it might still be expected to take, based on historical averages.

Usage Notes/Limits:

  • Block-scoped stages (stages that take a closure, see below) may occur in parallels but are not displayed in parallel.

    stage('name'){ echo 'steps here' }
    
  • Dynamic stages: in general, if you want to visualize dynamically changing stages, make it conditional to execute the stage contents, not conditional to include the stage** Stage view can handle a limited subset of cases where you're appending additional stages, but the cell-based view is not matched to changing stage structures 

  • Configurable limits are provided for the REST API that drives stage view -- these may be overridden though (see below).

  • The pipeline stage view uses caching internally for performance: even if the first viewing is slow, following ones should be quite fast

Configurable Properties:

  • At runtime or startup, you may turn off Jenkins user lookup for changesets with property  com.cloudbees.workflow.rest.external.ChangeSetExt.resolveCommitAuthors

    • This is a workaround for rare cases where you are relying on an external security realm for user information and have performance issues with many calls:

    • In the script console this setting may be changed at runtime (with immediate impact):

      System.setProperty("com.cloudbees.workflow.rest.external.ChangeSetExt.resolveCommitAuthors","false");
      
    • To turn user lookup back on: 

      System.setProperty("com.cloudbees.workflow.rest.external.ChangeSetExt.resolveCommitAuthors","true");
      
  • Hardcoded API limits that may be overridden by setting the properties at startup (requires restarting Jenkins to see the change):

    • Characters in each step's log entry (default: 10240 or 10kB) - com.cloudbees.workflow.rest.external.FlowNodeLogExt.maxReturnChars
    • Runs displayed per job (default: 10) - com.cloudbees.workflow.rest.external.JobExt.maxRunsPerJob
    • Artifacts shown per run (default: 100) - com.cloudbees.workflow.rest.external.RunExt.maxArtifactsCount
    • Steps displayed per stage (default: 100) - com.cloudbees.workflow.rest.external.StageNodeExt.maxChildNodes - note: this may have a very large performance impact with complex builds.

pipeline-stage-view-plugin's People

Contributors

svanoort avatar dependabot[bot] avatar olamy avatar jglick avatar basil avatar amuniz avatar olivergondza avatar virtualtim avatar timja avatar tobix avatar linuxsuren avatar zuzuviewer avatar recena avatar jbq avatar marius-balteanu avatar markewaite avatar martinmine avatar philipwhiuk avatar res0nance avatar timbrown5 avatar timo-rohwedder avatar vlatombe avatar zbynek avatar cpp597455873 avatar jpk6789 avatar lsouchard avatar smartin-qb avatar tfennelly avatar mamh2021 avatar marcjay avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.