Yuri Bushnev is a Head of System Quality at AlphaSense, with more than 5 years of experience in Quality Assurance, DevOps and Development.

Learn JMeter in 5 Hours

Start Learning
Slack

Run massively scalable performance tests on web, mobile, and APIs

Feb 28 2018

Top Jenkins Plugins You Can’t Miss in 2018

Jenkins is one of the best continuous integration (CI) servers you can find. The fact that it is one of the most aged CI solutions does not prevent it from maintaining its status as one of the most commonly used tools across the community. But what makes it so strong compared to the extremely high competition? No surprise - it is the community itself.

 

Jenkins has almost one and a half thousand plugins available for downloading, which allow you to solve any kind of problem you might ever encounter during deployment, development or testing. Very often, until you face a specific issue, you might even not know that there are many useful and handy plugins, which sometimes are not extremely necessary to have but at the same time, they might really improve your productivity.

 

In this article we want to show you a couple of useful Jenkins plugins that can improve your continuous integration server. You might know some of them, you might know most of them and I hope you will find some new ones that will help you obtain a better Jenkins setup. As Jenkins is usually a foundation stone for the company infrastructure itself, this could be very useful.

 

For each plugin, in addition to a short description and the plugin link, we will also attach a trends graph showing the number of monthly installations across the community, as well as associated screenshots. This is because a combination of all of these points usually has the most impact on the decision whether you will try the plugin or not. Moreover, in order to save your time, we attached a couple of links with carefully selected articles you might probably want to check after you decide to install a plugin on your server.

 

As there are more than 1,000 different plugins available for Jenkins, how can you decide which of them is the best? Actually, there are no ‘best’ plugins at all. For you, a plugin is the best when it fits your needs and helps you solve your specific issues. That’s why we will group plugins into several categories based on the issue area they try to solve. You can go over these categories and decide if this list has some of the best plugins for you.

 

Performance Metrics Analysis Plugins

 

As the main audience of our blog is performance test engineers, we will start with the handiest plugins for them. One of the main performance testing trends is to make it continuous, meaning that performance verifications should be a step in your continuous delivery pipeline. That’s why it is very important to track performance metrics when running the tests in your CI environment. However, it is important to keep in mind that these plugins will not fully solve the analysis part of your performance testing and they are mostly used for giving better visibility but not for detailed metrics analyses and investigation.

 

Performance Plugin

 

The Performance plugin adds a separate build step for running your performance tests. In addition to that, this plugin helps generate graphic charts for your build, based on result test files from popular testing tools like JMeter, Taurus or JUnit. The plugin can be used both in Jenkins pipelines and in GUI jobs configuration.

 

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

 

top jenkins plugins

 

best jenkins plugins

 

Additional resources:

 

Gatling Plugin

 

If you prefer using Gatling as your performance testing tool, then you will definitely find this plugin very useful. The ‘Gatling plugin’ provides performance trends overview based on Gatling test result files. After tests execution, you will see detailed reports per each execution build.

 

Plugin link: https://plugins.jenkins.io/gatling

 

which jenkins plugin to use

 

jenkins plugins tutorial

 

Additional resources:

 

Performance Publisher Plugin

 

The main advantage of the Performance Published plugin is that it is designed to work with any testing tools. However, it is up to you to create specifically formatted test result files based on XML format. The idea of the ‘Performance publisher’ plugin is that it works with a specific XML format and doesn’t have out of the box integration with different test tools. Instead, it gives you clear instructions as to which XML file you need to generate with your own tool to create very descriptive and detailed reports.

 

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

 

jenkins plugins - a guide

 

how to choose the best jenkins plugin

 

Blazemeter Plugin

 

The BlazeMeter plugin allows you to execute load tests using BlazeMeter’s platform. This way of performance tests execution is very handy because it allows you to not care about tests infrastructure and additional tools for storing the metrics as the BlazeMeter integration will do it for you, providing real-time execution monitoring as well as metrics storage.

 

Plugin link: https://plugins.jenkins.io/BlazeMeterJenkinsPlugin

 

BlazeMeter provides you with:

  • Simple Scalability – It’s easy to create large-scale JMeter tests. You can run far larger loads far more easily with BlazeMeter than you could with an in-house lab.
  • Rapid-Start Deployment – BlazeMeter’s recorder helps you get started with JMeter right away, and BlazeMeter also provides complete tutorials and tips.
  • Web-Based Interactive Reports – You can easily share results across distributed teams and overcome the limitations of JMeter’s standalone UI.
  • Built-In Intelligence – The BlazeMeter Cloud provides on-demand geographic distribution of load generation, including built-in CDN-aware testing.

 

jenkins plugins for performance metrics

 

jenkins plugins for kpis analysis

 

Additional resources:

 

Tests Analysis Plugins

 

Jenkins is the perfect friend when you need to run your tests as part of continuous integration. By using Jenkins and its plugins you can run any type of test. However, Jenkins doesn’t have any out of the box functionality to analyze tests results after execution, while this is one of the most important aspects of testing.

 

There is a list of commonly used plugins for each specific tests runner like JUnit, TestNG or NUnit. We will not mention these plugins as they are de facto based on the tests runner you use. At the same time there are a few other plugins that might be useful to have in addition to the main one.

 

Test Results Analyzer

 

The Test Results plugin is one of my favorites because it is very easy to install and at the same time it gives great visibility on tests results and execution trend patterns. The ‘Tests Result Analyzer’ has different types of graphs and a very detailed matrix table that will show you the results of each test for all the historical builds you had before. This can be very useful for identifying unstable tests.

 

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

 

jenkins plugins for test improvements

 

open source jenkins plugins

 

bootstraped-multi-test-result-report plugin

 

The ‘bootstraped-multi-test-result-report plugin’ looks really nice and allows you to create HTML reports based on tests’ results. The main advantage of this plugin is that it makes interactive reports where you can see an overall picture of all results as well as detailed results regarding steps statuses.

 

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

 

Reports examples: https://web-innovate.github.io/cucumber-reports/featuresOverview.html

 

jenkins plugins for tests analysis

 

continuous integration plugins

 

Additional resources:

 

Scaling Jenkins Setup

 

Jenkins setup is very easy when you think about Jenkins as a CI machine running the tests all on its own. But when you are getting more and more jobs inside your server, it becomes obvious that one instance of the Jenkins server is not enough to run all your jobs, assuming they might be running in parallel. For these needs, Jenkins has a support for the “master/slaves” mode. In this case, Jenkins will have several instances (slaves) that will be responsible for running the builds, while there will be one main instance (master) responsible for managing these slaves.

 

There are plenty of different approaches for configuring the Jenkins master and its slaves, but the best way is when you can dynamically allocate new slaves’ instances only when they are needed and remove them when having these instances is useless. Both of the to-be-mentioned plugins are at the top of the best practices as to how you can manage the scalability of your Jenkins server and it’s definitely worth knowing both of them.

 

Kubernetes Plugin

 

The ‘Kubernetes plugin’ is based on an integration with an open source framework for automating deployment, called Kubernetes. If you already have or are considering having Kubernetes as a backbone for your infrastructure, this plugin is definitely for you. While a transition to the Kubernetes infrastructure is a long and heavy road, you will be paid back at the end.

 

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

 

jenkins kubernetes plugin

 

how to use jenkins plugins

 

Additional resources:

 

Self-Organizing Swarm Modules Plugin

 

The ‘Self-Organizing Swarm Modules plugin’ is another way to manage your scalable Jenkins continuous integration server, by providing a way to spin up and tear down additional Jenkins slaves. The decision between the ‘Kubernetes plugin’ and the ‘Self-Organizing Swarm Modules plugin’ is only based on which infrastructure you prefer to run for the Jenkins: is it Kubernetes or Docker Swarm? If you have such choice, I would recommend checking this article that can give you nice visibility on the pros and cons of each of them. 

 

Plugin link: https://plugins.jenkins.io/swarm

 

which jenkins plugins is used the most

 

helpful jenkins plugins

 

Additional resources:

 

Organising Jobs

 

As your number of jobs grows, you might notice how difficult it is to manage all your jobs with the same productivity you had when everything just started. Even a few dozen Jenkins jobs on one page starts to become overcrowded. Fortunately, there are a number of plugins that are designed specifically to solve this issue. Let’s check some of them.

 

Folders Plugin

 

The number of downloads for this plugin, more than 116,000, speaks for itself. The ‘Folders plugin’ is one of the best ways for grouping your Jenkins jobs. Moreover, this plugin allows nestable folders, which can perfectly organize your continuous integration server.

 

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

 

jenkins folders plugin

 

jenkins plugins explanations

 

View Job Filters Plugin

 

The ‘View Job Filters plugin’ is a smart handy way to create different views for your Jenkins jobs. Do you want to group your jobs based on the build status? Or maybe based on their trends or triggers? You will find all of these filtering options and many others in the ‘View Job Filters plugin’, which definitely makes your life easier.

 

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

 

jenkins job filters plugin

 

how to use jenkins plugins

 

Additional resources:

 

categorized-view plugin

 

The ‘categorized-view plugin’ is another way to handle Jenkins jobs’ organization. This plugin allows you to categorize your jobs  based on regular expressions by using labels that you can create. This can save a lot of time if you have lots of jobs with the same prefix/suffix that you would like to group together. 

 

Plugin link: https://plugins.jenkins.io/categorized-view

 

jenkins categorized view plugin

 

improving your testing process with jenkins plugins

 

Getting Better Visibility and Jobs Status Control

 

In the previous section, we mentioned a couple of plugins that can make your life easier by providing a better way to organize how to store jobs inside Jenkins. However, jobs organization is just one problem you might face during the continuous growth of the number of tests. The next issue that you will definitely notice sooner or later is that it becomes difficult to track statuses across all the jobs you have: which of them failed, which of them passed and which of them are very unstable and require some maintenance. The next couple of plugins are designed to solve this issue as well.

 

Dashboard View Plugin

 

The ‘Dashboard view plugin’ adds an additional Jenkins dashboard, where you can track the overall jobs status including time tracking of how long each job takes and the execution time they took in total. All these statistics are very important to keep your Jenkins under control.

 

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

 

working with jenkins plugins

 

jenkins dashboard view plugin

 

Additional resources:

 

Build Monitor View Plugin

 

The ‘Build Monitor View plugin’ is one of my favorite plugins. I prefer running it on the TV screens inside the office space, as it gives a very straightforward view on build’s statuses. The main advantage of this plugin is that it perfectly fits any computer screen size.

 

Plugin link: https://plugins.jenkins.io/build-monitor-plugin

 

most important jenkins plugins

 

jenkins monitor plugin

 

Additional resources:

 

Improving Jenkins UI and UX

 

Last but not least, we all like nice-looking tools. The fact that Jenkins is one of the aged continuous integration tools impacted its design, which didn’t have any significant renovations for a long time. That is, until last year when Jenkins introduced their Jenkins Blue Ocean. In the list below we will give you just a few plugins that are directed to improve Jenkins’ UI and UX.

 

Greenballs Plugin

 

I cannot imagine using Jenkins without the ‘Greenballs plugin’. I remember that I was very confused some years ago when I installed my first Jenkins and realized that all the successful builds were marked blue instead of green, which is the way most of us are used to. The reason behind this is the fact that the creator of Jenkins, Kawaguchi Kohsuke, is from Japan, and Japanese people consider green as a shade of blue. This interesting fact became the reason of confusion, which was treated as a bug by many of engineers across the world. But as soon as you install this plugin, all successful builds will be marked as green instead of blue. Hooray!

 

Plugin link: https://plugins.jenkins.io/greenballs

 

plugins that improve jenkins ui

 

jenkins greenballs plugin

 

Additional resources:

 

Blue Ocean Plugin

 

Jenkins didn’t have any major UI/UX upgrades until last year, when they introduced the Blue Ocean plugin, which significantly improves Jenkins visualization and clarity. Therefore, if you use an older version of Jenkins, you can install the ‘Blue Ocean plugin’ as a separate plugin, while in the latest versions you will get it out of the box. I believe that the Jenkins team made a great step in the right direction by implementing this new user experience, as it is perfectly designed for Jenkins pipelines usages, which is one of the most critical features of advanced Jenkins users. 

 

Plugin link: https://plugins.jenkins.io/blueocean

 

jenkins ux improvement

 

jenkins blue ocean plugin

 

Additional resources:

 

Simple Theme Plugin

 

You might be not ready for Jenkins Blue Ocean design for a couple of reasons. The main one is that Blue Ocean is not fully completed at this moment and you can not use all the Jenkins features when using the new design, so you have to jump between new and old design views, which makes user experience not so good. But what if the new Blue Ocean redesign is not 100% completed yet but you still want to bring new life into your old-fashioned Jenkins design? The ‘Simple Theme plugin’ will become your friend in this case. This plugin allows adding a custom CSS to your Jenkins server. By having this ability in place, you can find a couple of custom Jenkins themes as well as implement your own (for example, with a company logo).

 

Plugin link: https://plugins.jenkins.io/simple-theme-plugin

 

jenkins simple theme plugin

 

learn jenkins plugins

 

Additional resources:

 

In the end

 

In the end, it is worth mentioning that Jenkins has hundreds of plugins that might be very useful for your current project. The list above contains only the main ones that I call ‘my favorite’, just because I use most of them from project to project and they improve my productivity each time. Even if you think that your current continuous integration server is good enough and doesn’t require any additional plugins, I would still highly recommend you take 15 minutes and go over all plugins available for downloading from the Jenkins website, from here. I’m absolutely sure that you will find some useful plugins that will make your daily life easier and that you just didn’t know about their existence.

 

To try out BlazeMeter, request a demo, or put your URL in the box below and your test will start in minutes!

 

Interested in writing for our Blog?Send us a pitch!

Your email is required to complete the test. If you proceed, your test will be aborted.