Industry Use Case of Jenkins

RAJNISH MISHRA
5 min readMar 26, 2021

We have seen about various tools and software, but still, we are missing a tool using which we can create a whole CI/CD pipeline. Jenkins is an open-source automation server. With Jenkins, organizations can accelerate the software development process by automating it. Jenkins manages and controls software delivery processes throughout the entire lifecycle, including build, document, test, package, stage, deployment, static code analysis, and much more.

We can set up Jenkins to watch for any code changes in places like GitHub, Bitbucket, or GitLab and automatically do a build with tools like Maven and Gradle. We can utilize container technology such as Docker and Kubernetes, initiate tests, and then take actions like rolling back or rolling forward in production.

Features of Jenkins:

  1. Continuous Integration & Continuous Delivery — As an extensible automation server, Jenkins can be used as a simple CI server or turned into the continuous delivery hub (CI/CD) for any project.
  2. Easy Installation — Jenkins is a self-contained Java-based program, ready to run out-of-the-box, with packages for Windows, Mac, and other Unix operating systems.
  3. Easy Configuration — Jenkins can be easily set up and configured via its web interface.
  4. Plugins — Hundreds of plugins are available in its marketplace to easily integrate Jenkins with any tool.
  5. Extensible — It can be extended via its plugin architecture, providing nearly infinite possibilities for what Jenkins can do.
  6. Distributed — It can be easily distributed across multiple machines, helping drive builds, tests, and deployments across multiple platforms faster.

What is Continuous Integration?

Continuous Integration is a process of integrating code changes from multiple developers in a single project many times. The software is tested immediately after a code commit. With each code commit, code is built and tested. If the test is passed, the build is tested for deployment. If the deployment is successful, the code is pushed to production.

This commit, build, test, and deploy is a continuous process and hence the name continuous integration/deployment.

How does Jenkins work?

Jenkins is a server-based application and requires a web server like Apache Tomcat to run on various platforms like Windows, Linux, macOS, Unix, etc. To use Jenkins, we need to create pipelines which are a series of steps that a Jenkins server will take. Jenkins Continuous Integration Pipeline is a powerful instrument that consists of a set of tools designed to host, monitor, compile and test code, or code changes, like:

  • Continuous Integration Server (Jenkins, Bamboo, CruiseControl, TeamCity, and others)
  • Source Control Tool (e.g., CVS, SVN, GIT, Mercurial, Perforce, ClearCase and others)
  • Build tool (Make, ANT, Maven, Ivy, Gradle, and others)
  • Automation testing framework (Selenium, Appium, TestComplete, UFT, and others)

Advantages of using Jenkins

  • Jenkins is being managed by the very open community. Every month, they hold public meetings and take inputs from the public for the development of the Jenkins project.
  • So far around 280 tickets are closed, and the project publishes a stable release every three months.
  • As technology grows, so does Jenkins. So far Jenkins has around 320 plugins published in its plugins database. With plugins, Jenkins becomes even more powerful and feature-rich.
  • Jenkins tool also supports cloud-based architecture so that you can deploy Jenkins in cloud-based platforms.
  • The reason why Jenkins became popular is that it was created by a developer for developers.

Disadvantages of using Jenkins

Though Jenkins is a very powerful and useful tool, it has its flaws:

  • Its interface is outdated and not user-friendly compared to current UI trends.
  • Though Jenkins is loved by many developers, it’s not that easy to maintain it because Jenkins runs on a server and requires some skills as a server administrator to monitor its activity.
  • One of the reasons why many people don’t implement Jenkins is due to its difficulty in installing and configuring Jenkins.
  • Continuous integrations regularly break due to some small setting changes. Continuous integration will be paused and therefore requires some developer attention.

Case Study

We have got a brief idea about Jenkins and its features. Let’s see how a big MNC got benefitted from using Jenkins.

Company: Avoris Travel

Headquarters location: Spain

Industry: Travel

Challenge:

With over 200 developers relying on the company’s infrastructure, they needed a secure, easily customizable, and powerful CI/CD platform.

Solution:

Avoris Travel, a unique travel company seeking to reinvent the travel industry, relies on an equally inventive technology platform fueled by Jenkins.

Results:

  • Reduced build times over 50% with the flexibility of Jenkins plugins
  • Increased the speed of delivery with Jenkins Pipelines
  • Much less problematic and simple deployments for the team
  • The scalable infrastructure supporting 675 agencies and over 2.8 million international consumers

Conclusion:

  • In Continuous Integration, after a code commit, the software is built and tested immediately
  • Jenkins used for orchestrating a chain of actions for Continuous Integration in a software project
  • Before Jenkins when all Developers had completed their assigned coding tasks, they used to commit their code all at the same time. Later, Build is tested and deployed.
  • After Jenkins, the code is built and test as soon as the Developer commits code. Jenkin will build and test code many times during the day
  • By default, Jenkins comes with a limited set of features. If you want to integrate your Jenkins installation with version control tools like Git, then you need to install plugins related to Git
  • The biggest pros of Jenkins is that it is managed by the community which holds public meetings and take inputs from the public for the development of Jenkins projects
  • The biggest con of Jenkin is that Its interface is outdated and not user-friendly compared to current UI trends.

I hope the article was able to give you a brief insight. If you have any feedback or suggestion, you can comment below.

You can appreciate the article by giving it a like and posting comments about your feedback here or on LinkedIn.

--

--