Jenkins has many benefits, so it’s hard to pick just one. But if you twist my arm, I would say that the wide collection of Jenkins plugins is definitely my top reason to use Jenkins. I know, I know, no surprise there. Nothing you haven’t heard before. After all, Jenkins Marketplace with its current 1800+ community contributed Jenkins plugins (as well as commercial plugins) is something that’s often brought up.
There’s no need to explain what is Jenkins and why it’s one of the leading CI platforms out there. It’s a known fact that Jenkins, being an open-source solution, has a vast community that covers every bits and bytes of additional functionalities or features you can only imagine. Although Jenkins is quite awesome as it is, these superb plugins provide a smoother experience, solving all kinds of problems.
OK, so Jenkins plugins are a major attraction. Agreed. There’s just that small issue of choosing which plugins to use. How would you go about choosing the best ones, especially when each one offers a different functionality? It’s not an easy task browsing through all 1800+ plugins, nor is it a job many of you desire.
Well, this is where we come in, suggesting the top ones on our list. You might have heard of some of them, but hopefully, we’ll get to introduce you to new ones as well.
Oh, and if you’d like to catch up on some Jenkins reading or possibly learn about its other advantages, check out our pieces on Jenkins vs TeamCity, Jenkins vs Bamboo and Jenkins vs Azure DevOps.
1. Blue Ocean
The name sure offers a sense of serenity, doesn’t it? How fitting… Just check out how it is described by Jenkins (who also produced it): “rethinks the Jenkins user experience”, “reduces clutter and increases clarity for every member of your team”. In other (less calm) words, it cleans up after Jenkins, UI wise. After all, Jenkins did require some “UI cleaning” considering this tool is an “old-timer” in the CI landscape.
Plugin link: https://plugins.jenkins.io/blueocean
While installing a plugin is not needed if you’re using Subversion or CVS, if you’re using Git as your version controlling tool/source code management system, then you should use the Git plugin. This plugin integrates Git with Jenkins. It basically enables Git functionality in Jenkins projects, such as pull, fetch, checkout, branch, list, merge, tag, and push repositories.
Plugin link: https://plugins.jenkins.io/git/
3. Build Pipeline
It’s quite a challenge managing a job in Jenkins and this plugin sure helps.
The Build Pipeline plugin is a visualization tool for viewing your build process and all the jobs and dependencies included in your build pipeline, providing a “view of upstream and downstream connected jobs.” In addition, by adding manual triggers, the plugin allows to define which steps should be manual – e.g., processes outside of Jenkins, such as review processes before deployment.
Plugin link: https://plugins.jenkins.io/build-pipeline-plugin
There’s a lot of chatter about Maven and for a good reason. While Jenkins has out of the box support to Maven, this plugin is still useful and provides additional functionalities such as automatic configuration of reporting plugins (Junit, Findbugs, …), automatic triggering across jobs based on SNAPSHOTs published/consumed, incremental builds, parallel builds, and post build deployment of binaries only if the project succeeded and passed all tests.
Plugin link: https://plugins.jenkins.io/maven-plugin
No need to explain what Jira is: one of the best and most used ticketing systems. So if you’re using Jira (and Jenkins of course), this plugin will make your life a lot easier, integrating Jira into Jenkins, and allowing you to display builds inside Jira, send info to Jira, track Jira issues (including changing status) in Jenkins and more.
Plugin link: https://plugins.jenkins.io/jira/
6. Amazon EC2
If you want to work with Amazon EC2 and Jenkins, this plugin will interest you. As big fans of Amazon EC2, this plugin is close to our heart. It allows users to automate the usage of Amazon EC2 once it recognizes that the build cluster is swamped, and terminating instances once it frees up.
Plugin link: https://plugins.jenkins.io/ec2/
7. Green balls
Yes, it’s not a bug – build success is marked in blue balls in Jenkins.
This plugin is kind of fun, allowing to change the blue build success color into a more intuitive color in western culture (as opposed to the Japanese culture): green. Once installed, all successful builds magically transform into green balls. Amazing.
Image source: Jenkins marketplace
Plugin link: https://plugins.jenkins.io/greenballs
Working with Kubernetes? This plugin integrates Jenkins with Kubernetes, running dynamic agents on the Kubernetes cluster.
Plugin link: https://plugins.jenkins.io/kubernetes/
Related: Docker vs Kubernetes – Should We Really Compare?
9. AWS Code deploy
This plugin deals with the deployment stage of the project (the post-build step). It coordinates the deployment of applications into multiple AWS instances.
Plugin link: https://plugins.jenkins.io/codedeploy/
Granted, our Jenkins plugin is not available via Jenkins Marketplace as it’s not open source, but we still think it deserves a place on this list. Jenkins Incredibuild out-of-the-box integration allows you to scale your build to run on hundreds of cores instead of only using the cores on your build agent, thus dramatically reducing Jenkins build cycles by up to 30x!
Oh, and on that matter, we came across the Build Timeout plugin that automatically aborts long builds, and thought it’s worth mentioning. While this plugin is very useful, instead of aborting long builds you can just make them shorter using Incredibuild ?
Of course, there are plenty of other plugins that deserve a spot on our list. Whatever functionality you might think of, Jenkins has a plugin for it. So, if you’re looking for a solution for your Jenkins cycle or generally seeking to boost productivity, start with Jenkins plugins.