Case Study on Jenkins

What is Jenkins, Why to Use It, How It Works and Where To use it ?

Tamim Dalwai
4 min readSep 26, 2021

What is Jenkins ?

Jenkins is a self-contained, open source automation server which is used to automate all sorts of tasks like building, testing, delivering or deploying software.

Jenkins can be installed through native system packages, Docker, or even run standalone by any machine with a Java Runtime Environment (JRE) installed.

Some of the possible steps that can be performed using Jenkins are:

Software build using build systems such as Gradle, Maven, and more.

Automation testing using test frameworks such as Nose2, PyTest, Robot, Selenium, and more.

Execute test scripts (using Windows terminal, Linux shell, etc.

Achieve test results and perform post actions such as printing test reports, and more.

Execute test scenarios against different input combinations for obtaining improved test coverage.

Continuous Integration (CI) where the artifacts are automatically created and tested. This aids in identification of issues in the product at an early stage of development.

At the time of what is Jenkins blog, it had close to 1500+ plugins contributed by the community. Plugins help in customizing the experience with Jenkins, along with providing support for accelerating activities related to building, deploying, and automating a project.

Why To Use Jenkins ?

Jenkins is used to build and test your product continuously, so developers can continuously integrate changes into the build. Jenkins is the most popular open source CI/CD tool on the market today.

In almost any discussion about open source continuous integration or continuous delivery (CI/CD) tools, Jenkins will inevitably be brought up.

Automation (including test automation) is one of the key practices that allow DevOps teams to deliver “faster, better, cheaper” technology solutions.

Jenkins has been a key enabling technology that is increasingly helping DevOps practices gain widespread adoption in many organizations around the world.

A fast, simple CI/CD matters when your technology is the driver for a new kind of travel company

“Our infrastructure is very important because we have to be online to meet customer demand anywhere in the world,” said Alejandro Alvarez Vazquez, Sysadmin, Avoris Travel. “Our CI/CD platform is used by 200 people. The services that we build and deploy are used by thousands of potential clients and by our network of 675 own agencies located in Spain and Portugal.”

As noted, Avoris engineers have created their own search and booking engines fueled by a proprietary business rules engine. As their developers innovate these technologies, having a solid CI/CD that lets them work at an accelerated pace is critical.

“Our developers are grouped in numerous small teams. Because most of our software is based on a microservices architecture, new deployments are made to the production environment every week,” Alejandro continued. “Thanks to Jenkins we are making these deployments much easier but not more often. The frequency is the same but as in the past but now it is much less problematic and simple.”

“With a focus on building cutting edge technology services, we turned to Jenkins because it is easily customizable and scales with our evolving needs,” Alejandro said. “Internal applications and transversal services developed by the architecture team to support common functionalities to the rest of the applications: logging, cache, app configuration, apis, etc. All Of which are supported by their evolving platform.

A use case for acceleration while reducing build times by more than half

Process improvement is top of mind for the ops team at Avoris. And Alejandro shared his story for one critical instance where the use of Jenkins made a big difference. They realized their build times were on the decline, so they sought to minimize their delivery cycle times with Jenkins. The results? The team was able to speed up their CI/CD with shared volumes and more. And they were able to reduce build times more than 50%.

“This specific project was successful due to the vast number of Jenkins plugins available, the extensibility of Jenkinsfiles with the use of Groovy, and many integration possibilities,” Alejandro explained. “Additionally, we relied on a large and helpful Jenkins community and all the Jenkins resources available to us.”

The tech team is also diligent about monitoring performance: “We have a comparison of build times after making major improvements to our Jenkins Pipelines CI/CDs,” Alejandro notes. “By using openshift 4 low compute nodes and shared container storage after migration from Docker to Buildah, a more than remarkable reduction in construction times has been achieved.”

The reductions times included: an improvement from 45 seconds to just 8 seconds for small applications, shaving larger legacy apps by 7–8 minutes, and reducing final image generation time by 10–30 seconds

Simply put, Alejandro said: “Jenkins enables us to do things simply, quickly and in a powerful way.”

The team will continue to enhance their platform with ease because Jenkins offers a” huge number of integration possibilities,” which enables them to make adjustments on the fly. And this team will continue to reinvent their technology — with the help of Jenkins — to support Avoris’ mission to reinvent the travel industry.

Thank You …

--

--