Industry use cases of Jenkins

Jenkins

Rahulkant
6 min readMar 25, 2021

What is Jenkins?

Jenkins is a free and leading open source automation server which helps to automate the parts of software development related to building, testing, and deploying, facilitating continuous integration and continuous delivery.

This CI server runs in servlet containers such as Apache Tomcat. Jenkins facilitates continuous integration and continuous delivery in software projects by automating parts related to build, test, and deployment. This makes it easy for developers to continuously work on the betterment of the product by integrating changes to the project.

Jenkins automates the software builds in a continuous manner and lets the developers know about the errors at an early stage. A strong Jenkins community is one of the prime reasons for its popularity. Jenkins is not only extensible but also has a thriving plugin ecosystem.

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, you 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, TeamCity, and others)
  • Source Control Tool (e.g., CVS, SVN, GIT, and others)
  • Build tool (Make, ANT, Maven, Ivy, Gradle, and others)
  • Automation testing framework (Selenium, Appium, and others)

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.

Before Jenkins…

  • Once all Developers had completed their assigned coding tasks, they used to commit their code all at same time. Later, Build is tested and deployed.
  • Since the code was built all at once, some developers would need to wait until other developers finish coding to check their build.
  • It is not an easy task to isolate, detect, and fix errors for multiple commits.
  • The code is deployed once all the errors are fixed and tested.
  • Development Cycle is slow.

After Jenkins…

  • The code is built and test as soon as Developer commits code. Jenkin will build and test code many times during the day. If the build is successful, then Jenkins will deploy the source into the test server and notifies the deployment team. If the build fails, then Jenkins will notify the errors to the developer team.
  • The code is built immediately after any of the Developer commits.
  • Since the code is built after each commit of a single developer, it’s easy to detect whose code caused the built to fail.
  • The code is deployed after every successful build and test.
  • The development cycle is fast.

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

Advantages of using Jenkins

  • Jenkins is being managed by the community which is very open. Every month, they hold public meetings and take inputs from the public for the development of Jenkins project.
  • 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.

Jenkins Case Study: Tymit

Challenge:

Create a solidly reliable CI/CD platform that provides the technology team with the agility and the flexibility needed to innovate while ensuring the security and scalability their fintech service requires.

Solution:

Tymit, a revolutionary credit card processing company, leveraged Jenkins to build a compliant, transparent and secure modern DevOps platform to drive product innovation, handle instant financial transactions and support thousands of users in real-time.

Results:

  • faster delivery of mobile, microservices and operational services
  • reduced software testing and release cycles by 50%
  • ability to support thousands of users for real-time transactions
  • created a secure, controlled and compliant fintech environment.

Jenkins Case Study: Avoris 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
  • 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 same time. Later, Build is tested and deployed.
  • After Jenkins the code is built and test as soon as 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 out dated and not user friendly compared to current UI trends.

Thank you !

Credits :- Google, Jenkins, Vimal Daga Sir, ….

--

--