Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

5 Reasons Jenkins Is So Useful and Popular

DZone's Guide to

5 Reasons Jenkins Is So Useful and Popular

Jenkins is arguably the most popular CI tool out there today. So what makes it so useful and popular? We take a look at these questions in this article.

· DevOps Zone
Free Resource

Download the blueprint that can take a company of any maturity level all the way up to enterprise-scale continuous delivery using a combination of Automic Release Automation, Automic’s 20+ years of business automation experience, and the proven tools and practices the company is already leveraging.

I use Jenkins quite a lot, for almost everything in my daily work. Not to mention the CI/CD part. I achieve regular deployment with Jenkins. Daily backup and weekly cleanup from Jenkins. Vulnerability scanning from Jenkins. Workflow enforcement with Jenkins. And the list goes on and on.

But just several years ago, Jenkins (as Hudson, its old name) wasn’t that well-known. And now? It is almost everywhere. Jenkins is just so important! So answer me: Why is that?

I think there are five reasons driving the change. Check it out and share your thoughts with me, my friends!

1. Lowers the Effort of Converting CLI to GUI

Everybody loves one-button click philosophy, both users and engineers. The truth is, lots of system admins prefer CLI. So why? Is it because all of the IT professionals are nerds and jerks? Well, maybe...

Implementing reliable scripts takes time, but adding decent UI support takes even longer.

Now, with Jenkins, visual ops is much easier to achieve. To convert a CLI into a GUI button click, just wrap up the script as a Jenkins job. To support customization and obtain users’ input? Create parameterized Jenkins jobs.

Tons of undocumented scripts versus organized Jenkins jobs. It’s not a hard decision for you, right?

2. The Pipeline Integrates Individual Jobs for a Bigger Purpose

Imagine that individual Jenkins jobs are small tools. They all serve simple and small purposes. With the Jenkins pipeline plugin, we can combine multiple jobs together, which then serve a bigger problem. The combination could be either sequential or parallel.

As a Linux veteran, you know the value of pipelines, don’t you? It makes a huge difference.

3. Keeps People in Sync, Especially in Slack

Nowadays, teams tend to use one centralized platform for communication. Slack is the most popular one. Let’s say all critical activities are implemented and triggered from Jenkins. Adding Slack integration to Jenkins, people can be notified of what activities have been triggered, when, by who, and the results.

The most beautiful part is: no extra human effort is required. Everything is done automatically.

4. Auditing the Previous Run Is Possible and Effortless

When Jenkins runs jobs, it will capture console output, for both stdout and stderr.

For troubleshooting, we know the history, crystal clear. No need for a human to capture the console output and spend time organizing it in a user-friendly way. The time saved for communication is huge!

For performance tuning, we know how long each run took. Even for each individual job run, we can easily identify the slowest steps with the help of the Timestamper plugin.

5. Project Management Now Has More Accurate Data Support

For project management, we know more about the status for each part, and this can be done automatically. Each activity can be wrapped as a Jenkins job. For each Jenkins job, we know whether it succeeds or fails, and we also know how long it takes.

Plus, Jenkins supports REST API or SDK to poll these metrics. Project management can now have more solid and accurate data support. The Dashboard View plugin can be your friend for this.

Here is a summary of useful Jenkins plugins:

Pipeline Plugin[1], Slack Plugin[2], Timestamper[3], Dashboard View[4], thinBackup[5], JobConfigHistory Plugin[6], Naginator Plugin[7], Build-timeout[8], Git Plugin[9], and GitHub pull request builder plugin[10].

Image title

Are there any drawbacks with Jenkins? Yes, I have observed some. Leave me comments if you’re interested, or if you have something to discuss with me. Thanks!

Download the ‘Practical Blueprint to Continuous Delivery’ to learn how Automic Release Automation can help you begin or continue your company’s digital transformation.

Topics:
devops ,jenkins ,ci/cd ,continuous integration

Published at DZone with permission of Denny Zhang, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}