5 Reasons Why Jenkins Is So Useful And Popular

I use Jenkins quite a lot. Almost for everything in my daily work.

Not to mention CI/CD part. I achieve regular deployment from Jenkins. Daily backup and weekly cleanup from Jenkins. Vulnerability scan from Jenkins. Workflow enforcement from Jenkins. And the list goes on and on.

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

I think there are 5 reasons drive the changes. Check it out and share your thoughts with me, my friends!

(PS: check the bottom of the post: Top #10 Jenkins Plugins I’m actively using everyday).

10 Must-Have Jenkins Plugins



Check More Discussion In LinkedIn Discussion

10 Must-Have Jenkins Plugins


1. Lower 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. (Add comments if you have other opinions).

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” VS “Organized Jenkins jobs”. It’s not a hard decision for you, right?

2. Pipeline Integrates Individual Jobs For A Bigger Purpose.

Imagine each individual jenkins jobs are small tools. They all serve simple and small purposes only.

With Jenkins pipeline plugin[1], we can combine multiple jobs together, then serve a bigger purpose. The combination could be either sequentially or parallelly.

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

  • Sequential
stage('Stage1') {
    build job: 'job1', parameters: [string(name: 'para1', value: 'value1')]
    build job: 'job2', parameters: [string(name: 'para1', value: 'value2')]
}

stage('Stage2') {
    build job: 'job3', parameters: [string(name: 'para1', value: 'value3')]
    build job: 'job4', parameters: [string(name: 'para1', value: 'value4')]
}
  • Parallel
stage('stage1') {
    parallel firstBranch: {
        // do something
        build 'job1'
    }, secondBranch: {
        // do something else
        build 'job2'
    },
    failFast: false
}

3. Keep 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[2], people can be notified: what activities have been triggered, on when, by who and the results.
The most beautiful part is no extra human effort is required. Everything is done automatically.

10 Must-Have Jenkins Plugins

Related Reading:

4. Audit The Previous Run Is Possible And Effortless.

When Jenkins run jobs, it will capture console output. For both stdout and stderr.

  • For trouble shooting, we know the history crystal clear. No need to human to capture the console output, and spend time organizing them in a user-friendly way. Thinking the time saving for communication, it’s huge!
  • For performance tunning, we know how long each run took. Even for each individual job run, we can easily identity the slowest steps with the help of Timestamper plugin[3].

10 Must-Have Jenkins Plugins

Related Reading:

5. Project Management Now Has More Accurate Data Support.

For project management, we know better about the status for each part. And this could 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.

And Jenkins support REST API or SDK to poll these metrics. Project management now can have a more solid and accurate data support.

Dashboard View plugin[4] can be your friends for this.

10 Must-Have Jenkins Plugins
Here Are Top #10 Jenkins Plugins I Use Everyday.

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].

5 Reasons Why Jenkins Is So Useful And Popular

Are there any drawbacks with Jenkins? Yes, I do observe some.

Leave me comments, if you’re interested. Or you have something to discuss with me. Thanks!

More Reading:

[1] wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin
[2] wiki.jenkins.io/display/JENKINS/Slack+Plugin
[3] wiki.jenkins-ci.org/display/JENKINS/Timestamper
[4] wiki.jenkins-ci.org/display/JENKINS/Dashboard+View
[5] wiki.jenkins.io/display/JENKINS/thinBackup
[6] https://goo.gl/2EZtD8
[7] wiki.jenkins-ci.org/display/JENKINS/Naginator+Plugin
[8] wiki.jenkins-ci.org/display/JENKINS/Build-timeout+Plugin
[9] wiki.jenkins-ci.org/display/JENKINS/Git+Plugin
[10] https://goo.gl/vsJKfu

Blog URL: https://www.dennyzhang.com/jenkins_benefits


Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.