Jenkins

Vishugoyal
5 min readJan 21, 2022

Jenkins is a free and open-source automation server. It helps automate the parts of software development related to building, testing, and deploying, facilitating continuous integration and continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat.

Benefits using Jenkins

Continuous Integration and 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.

Easy installation

Jenkins is a self-contained Java-based program, ready to run out-of-the-box, with packages for Windows, Linux, macOS, and other Unix-like operating systems.

Easy configuration

Jenkins can be easily set up and configured via its web interface, which includes on-the-fly error checks and built-in help.

Plugins

With hundreds of plugins in the Update Center, Jenkins integrates with practically every tool in the continuous integration and continuous delivery toolchain.

Extensible

Jenkins can be extended via its plugin architecture, providing nearly infinite possibilities for what Jenkins can do.

Distributed

Jenkins can easily distribute work across multiple machines, helping drive builds, tests and

CI/CD

In software engineering, CI/CD or CICD generally refers to the combined practices of continuous integration and either continuous delivery or continuous deployment.

CI/CD bridges the gaps between development and operation activities and teams by enforcing automation in building, testing, and deployment of applications. Modern-day DevOps practices involve continuous development, continuous testing, continuous integration, continuous deployment, and continuous monitoring of software applications throughout their development life cycle.

How Jenkins works

Jenkins runs as a server on a variety of platforms including Windows, macOS, Unix variants, and especially, Linux. It requires a Java 8 VM and above and can be run on the Oracle JRE or OpenJDK. Usually, Jenkins runs as a Java servlet within a Jetty application server. It can be run on other Java application servers such as Apache Tomcat. More recently, Jenkins has been adapted to run in a Docker container. There are read-only Jenkins images available in the Docker Hub online repository.

To operate Jenkins, pipelines are created. A pipeline is a series of steps the Jenkins server will take to perform the required tasks of the CI/CD process. These are stored in a plain text Jenkinsfile. The Jenkinsfile uses a curly bracket syntax that looks similar to JSON. Steps in the pipeline are declared as commands with parameters and encapsulated in curly brackets. The Jenkins server then reads the Jenkinsfile and executes its commands, pushing the code down the pipeline from the committed source code to production runtime. A Jenkinsfile can be created through a GUI or by writing code directly.

How insurance company using Jenkins …

Innovative technology is key for Topdanmark, a Danish insurance company offering a customer service platform that allows clients to easily and quickly manage their insurance, investments, and pensions. These tools are developed internally, using artificial intelligence (AI) to create smart data models, sophisticated speech recognition technologies, and a highly responsive chatbot to deliver excellent customer experiences all propelled by a reliable, robust infrastructure.

Challenge:

Balancing the needs of DevOps modernization and cloud migration while maintaining legacy systems.

Most of Topdanmark’s servers and all their desktops are virtualized, so they are easy to replace if something breaks down. In terms of Jenkins installations, they are all virtual.

Topdanmark has two Jenkins setups. they said “We have two sets of systems, legacy and CI/CD,” Jon explains. “In our legacy setup, we have test, integration, release, and production environments. In our CI/CD setup, we have a non-production and a production environment.”

The legacy setup is part of a pre-scheduled handheld deployment cycle, customized to whichever team uses it. Due to all the customizations, it could take several days from the developer request to having a working Jenkins instance. “This, of course, is not very flexible,” Jon noted. “But now that we’re moving towards CI/CD, we’ve opted to use Jenkins again. That’s because of its flexibility and ease of customization.”

Solution:

A highly-configurable CI/CD platform that allows for automation and ease of development.

The company said The new setup is automated and easier to maintain. For this new iteration, the team took a different, more modern approach to deliver the service to its users. They created a self-service portal that allows anyone within the company to ‘order’ a Jenkins instance, a huge timesaver. Jon noted that it now takes less than five minutes to have a Jenkins instance up and running, configured to accept builds, based on Jenkinsfiles, and in a multibranch configuration.

With the help of Jenkins, Topdanmark keeps tooling up to date. “We are in continuous dialogue with our developers regarding what they want and need to do their job,” Jon said. “By continuously evolving our tools, we better support them as they continue to evolve their applications.”

In Jon’s Jenkins Is The Way user story, he cites several results due to his team’s use of Jenkins. These include 100% automation of Jenkins instances and the ability to release and deploy an artifact whenever, wherever. However, the ultimate outcome is one that Topdanmark and Jon is proudest of happy software developers, developing great software

Results:

  1. 100% automatic creation of Jenkins instances
  2. the ability to release and deploy an artifact whenever, wherever
  3. software developers focused on developing software rather than operations
  4. smaller monoliths and containerization

Conclusion:

Jenkins is the powerful automation tools that can decrease the major time that we need on operations so developers can focus on software, not on operations

So, we learned that how Company’s like Topdanmark uses Jenkins to solve the challenges of software developing operations.

Hope this blog helpful to you!!!!

--

--

Vishugoyal

I am pursiing B-tech. and also very fond of learning new technology under the guidance of Vimal Daga sir (World Record Holder).