Useful Jenkins Plugins

Jenkins Job Builder

Site: http://docs.openstack.org/infra/jenkins-job-builder/

JJB is actually not a plugin, but a Python application that enables managing and creating jobs in Jenkins automatically by defining the configuration as YAML or JSON files.

It supports defining job templates, projects. Example configuration:

- job:
    name: job-name
    project-type: freestyle
    defaults: global
    description: 'Do not edit this job through the web!'
    disabled: false
    display-name: 'Fancy job name'
    concurrent: true
    workspace: /srv/build-area/job-name
    quiet-period: 5
    block-downstream: false
    block-upstream: false
    retry-count: 3
    node: NodeLabel1 || NodeLabel2
    logrotate:
      daysToKeep: 3
      numToKeep: 20
      artifactDaysToKeep: -1
      artifactNumToKeep: -1

Git Plugin

Exports the source code for the job from a Git repository.

GitLab Plugin

Integration with GitLab. Allows triggering of builds on push or merge requests in GitLab.

JIRA Trigger Plugin

  • Triggers a build when a comment is added to JIRA
  • Triggers a build when an issue is updated in JIRA
  • Reply back to JIRA for scheduled builds
  • Sets JIRA information as environment variables to the triggered build

JobFanIn Plugin

Starts a job only after all the listed jobs have been completed. Useful when creating a pipeline.

Join Plugin

Allows a job to run only after the listed jobs have been completed.

Parameterized Remote Trigger Plugin

Triggers jobs on a remote Jenkins server

Pipeline Plugin

A collection of plugins that allows building build pipelines (for example for continuous delivery or deployments). The pipeline is defined as a Groovy script in a job of type of Pipeline.

  • Supports manual inputs or confirmation steps.
stage 'build' 
node {
git 'https://github.com/cloudbees/todo-api.git' withEnv(["PATH+MAVEN=${tool 'm3'}/bin"]) {
sh "mvn -B –Dmaven.test.failure.ignore=true clean package"
}
stash excludes: 'target/', includes: '**', name: 'source'
}
stage 'test'
parallel 'integration': {
node {
unstash 'source' withEnv(["PATH+MAVEN=${tool 'm3'}/bin"]) {
sh "mvn clean verify" 
 }
}
}, 'quality': {
node {
  def job = build job: 'some-downtream-job-name'
 }
} 
}
stage 'approve'
timeout(time: 7, unit: 'DAYS') {
input message: 'Do you want to deploy?', submitter: 'ops'
}
stage name:'deploy', concurrency: 1
node {
  def job = build job: 'some-deploy-job'
 }
}

Rundeck Plugin

Triggers Rundeck jobs from Jenkins.

URLTrigger Plugin

Triggers a job based on a response from a defined URL.

Gradle Plugin

Gradle integration for Jenkins.

Promoted Build Plugin

Enables the ability to distinguish between good builds and broken ones. A promoted build is a build that has passed a specific criteria: for example, after all tests jobs for a build have passed successfully, or after the build has been promoted manually.

The name of the promotions are defined and the icon that will be displayed near the job in Jenkins

Shining Panda Plugin

Supports creating Python projects in Jenkins:

  • Creates virtualenv environment
  • Buildout builder
  • Python builder
  • Customer Python builder

ArtifactPromotion Plugin

Promote artefacts from one repository to another. For example from QA to production repository.

Build Name Setter Plugin

Sets the build name in Jenkins (instead of #1, #2 etc)

SemnticVersioning Plugin

Reads the version from POM, SBT and build.scala and passes the major, minor as an environment variable to the build jobs. It also displays the version of the build in the dashboard.

Notifications

Email-ext Plugin

Adds additional configuration for notification emails.

Slack Plugin

Post build notifications to a Slack channel.

Slave management

Libvirt Slaves Plugin

Automatically starts a VM managed by Libvirt (usually on KVM) before the job runs and sets it as a Jenkins slave, and then shutdown the VM when the job completed.

Reports

JUnit Plugin

Parse JUnit test reports and displays them in Jenkins.

Log Parser

Parses the job console and highlights warnings, errors.

Performance Plugin

Displays results from JMeter and JUnit.

Dashboards

Radiator View Plugin

Dashboard View

 

Code Checks

Violations

Provides reports from several code check utilities such as checkstyle, pylint etc.

Leave a Reply

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