Top Jenkins plugins to take your CI/CD pipeline to the next level.

Praful Dhabekar
DevOps Dudes
Published in
6 min readJun 15, 2020

Jenkins is one of the best continuous integration (CI) automation servers you can find. Jenkins is the ultimate server in that it provides a straightforward way of configuring CI and provides the complete basis for working with any set of languages or repositories of source code. The fact that it is one of the oldest CI solutions does not prevent it from maintaining its status as one of the most commonly used tools across the community. Yet what makes it so good in relation to the incredibly high competition? No surprise, it’s the community itself.

Jenkins has nearly 1,400 plugins available for download which enable you to solve any problem you may ever encounter during deployment, development, or testing. Quite often, before you encounter a particular problem, you might also not realize that there are many useful and handy plugins, which often are not incredibly important to have but at the same time, they can really boost your productivity.

In this article I want to show you a few useful Jenkins plugins that will take your next CI/CD pipeline to the next level. You may know some of them, you may know most of them and I hope you’ll find some new ones that will help you get a better setup for Jenkins. This could be very useful as Jenkins is usually a foundation stone for the company infrastructure itself.

Folders Plugin

The ‘Folders plug-in’ is a perfect way to bring your Jenkins tasks together. This fact that this plugin has been downloaded more than 120,000 times, speaks volumes about its utility. Furthermore, the nestable folders available in this plugin can be perfectly organized to organize your CI file.

Plugin Link: https://plugins.jenkins.io/cloudbees-folder

Monitoring Plugin

The ‘Monitoring Plugin’ uses JavaMelody to have Jenkins tracked. This plugin assigns CPU charts, HTTP response time, memory, and much more. It also provides information about HTTP times, logs accounts, head dumps, and other data. With this plugin you can check the status / progress of the jobs being considered and view statistics that will help you manage Jenkins proactively via the interface.

Plugin Link: https://plugins.jenkins.io/monitoring

Dashboard View Plugin

The ‘Dashboard view plugin’ provides you with a new Jenkins dashboard to monitor the status of all tasks. Ideally, this also has time monitoring functionality for the length every job takes and also displays the complete execution period. These are basics which help you manage Jenkins.

Plugin Link: https://plugins.jenkins.io/dashboard-view/

Metrics Plugin

The ‘Metrics Module’ offers health checks by exposing Jenkins to the Dropwizard Metrics API for application-level metrics to keep you updated on what’s happening in real time.

Plugin Link: https://plugins.jenkins.io/metrics/

View Job Filters Plugin

The plugin ‘View Job Filters’ is an out-of-the-box method for constructing different views for all your Jenkins jobs. Whether it’s build status or trends and triggers, you’ll find all of these filtering options besides many others with the ‘View Job Filters plugin.’

Plugin Link: https://plugins.jenkins.io/view-job-filters/

Kubernetes Plugin

Surprisingly the ‘Kubernetes plugin’ works with Kubernetes. So if you are planning to use Kubernetes for your infrastructure, this plugin is the way forward for Jenkins’ agents to be set up and torn down. Whilst moving to Kubernetes isn’t the easiest process, it is worth the results.

Plugin Link: https://plugins.jenkins.io/kubernetes

Amazon ECS Container Service

To manage Jenkins cloud slaves and deploy Docker-based applications on a cluster, use the plugin ‘Amazon ECS Container Service.’

Plugin Link: https://plugins.jenkins.io/amazon-ecs

Test Results Analyzer

The plugin Test Results is preferable as it offers greater visibility on results of tests and trend patterns of execution, as well as facilitating installation. The ‘Tests Result Analyzer’ provides many different graphical representations and a pretty detailed matrix table that will direct you to the outcome of each test for all the builds that you have had. An effective method of unstable test recognition.

Plugin Link: https://plugins.jenkins.io/test-results-analyzer

Bootstrapped Multi Test Result Report

The ‘bootstrapped-multi-test-result-report plugin’ allows you to create HTML reports based on results from the tests. A major advantage of this plugin is its ability to produce interactive reports allowing you to see the overall picture of all results as well as the detailed results of the status of steps.

Plugin Link: https://plugins.jenkins.io/bootstraped-multi-test-results-report/

Pipeline Plugin

‘Pipeline’ helps to simplify the continuous delivery system using conventional plugins and freestyle projects, and executes other dynamic tasks in Jenkins.

Plugin Link: https://plugins.jenkins.io/workflow-aggregator

Build Pipeline Plugin

This plugin provides an overview of the jobs that make up your upstream and downstream build pipeline as well. In addition, it helps you to identify manual triggers for different tasks that may require intervention prior to execution. Build Pipeline Plugin is a game changer for Jenkins users because it makes scriptable pipelines as well as providing an incredibly powerful avenue where complex DevOps pipelines can be developed.

Plugin Link: https://plugins.jenkins.io/build-pipeline-plugin/

Multijob Plugin

This plugin lets you express complex tasks and then arrange them in the Jenkins according to their structures. This plugin can be used anytime you need to clean up chain description mess with upstream or downstream work. You may also use it when you need to create a hierarchy of tasks for sequential execution.

Plugin Link: https://plugins.jenkins.io/jenkins-multijob-plugin

Git Plugin

Provides access to GitHub as an SCM that acts as a browser repository for many other providers. For Jenkins projects the git plugin offers fundamental git operations. It can have repositories poll, fetch, checkout, branch, list, merge, tag and push.

Plugin Link: https://plugins.jenkins.io/git

GitHub Integration Plugin

This is the most basic plugin required to integrate Jenkins with GitHub projects. This plugin allows you to schedule your build, pull code and data files from GitHub repositories to Jenkins, and automatically activate each build as required.

Plugin Link: https://plugins.jenkins.io/github-pullrequest

Performance Plugin

Use this plugin in both the Jenkins and GUI jobs pipelines. The tool offers capture report capabilities across a variety of favorite testing tools such as JMeter, JUnit, or Taurus. Using trend reports and graphs, you can monitor the performance of your project, and set your build status to either right, unstable or fail.

Plugin Link: https://plugins.jenkins.io/performance

Mailer

This plugin allows you to configure email notifications for build results. This is a break-out of the original core based email component.

Plugin Link: https://plugins.jenkins.io/mailer/

JUnit

The JUnit plugin provides a publisher that consumes XML test reports generated during the builds and provides some graphical visualization of the historical test results (see JUnit graph for a sample) as well as a web user interface to view test reports, track failures, etc. Jenkins knows the XML format of the JUnit test report (which TestNG uses too). When configuring this method, Jenkins can provide useful information, such as patterns, on test results.

Plugin Link: https://plugins.jenkins.io/junit/

Performance Publisher Plugin

An exceptional feature of the Performance Published plugin is that it is designed to work with each testing tool by generating trends and global reports for the analysis of test results. It computes numbers, underlines regressions and changes, and generates any number of trend graphs, but with your own testing tool you need to generate the XML files.

Plugin Link: https://plugins.jenkins.io/perfpublisher/

Conclusion

Ultimately, it is worth remembering that Jenkins has hundreds of plugins that could be very helpful to your current project. The above list contains only the key ones I consider ‘my choice,’ only because I use most of them for my projects and every time they increase my productivity. If you have any favorite plugins please don’t forget to comment down below.

If you enjoyed this story, please click the 👏 button and share to help others find it! Feel free to leave a comment below.

--

--

Praful Dhabekar
DevOps Dudes

Cloud || Artificial Intelligence || Technology || Innovation || Productivity