‼️ Industry Use Case of Jenkins ‼️

Anuja Kumari
4 min readMar 13, 2021

--

👉 What is Jenkins

Jenkins is an open-source automation server which provides hundreds of plugins to support building, deploying and automating any project which in turns helps in continuous integration and build automation. The basic functionality of Jenkins is to execute a predefined list of tasks i.e. as soon as there is a change in repository, triggers a pipeline that executes different jobs and performs the tasks.

👉 WHY DO WE USE JENKINS?

With Jenkins, organizations can accelerate the software development process through automation. Jenkins integrates development life-cycle processes of all kinds, including build, document, test, package, stage, deploy, static analysis, and much more.

Jenkins achieves Continuous Integration with the help of plugins. Plugins allow the integration of Various DevOps stages. If you want to integrate a particular tool, you need to install the plugins for that tool. For example Git, Maven 2 project, Amazon EC2, HTML publisher etc.

👉 Features of Jenkins:

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

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

🔅 Easy Configuration — Jenkins can be easily set up and configured via its web interface.

🔅 Plugins — Hundreds of plugins are available in its marketplace to easily integrate Jenkins with any tool.

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

🔅 Distributed — It can be easily distributed across multiple machines, helping drive builds, tests and deployments across multiple platforms faster.

👉 Advantages of Jenkins include:

🔸 It is an open-source tool with great community support.

🔸 It is easy to install.

🔸 It has 1000+ plugins to ease your work. If a plugin does not exist, you can code it and share it with the community.

🔸 It is free of cost.

🔸 It is built with Java and hence, it is portable to all the major platforms.

with well over 1,000 plugins that allow it to integrate with most of the development, testing and deployment tools.

✴️ USE CASES OF JENKINS ✴️

⭐ Linkedin’s Case Study of Continuous Deployment ⭐

Linkedin is an employment-oriented service that is mainly used for professional networking. LinkedIn’s prior system before implementing Continuous Deployment was more traditional.

The system included various branches diverging from a single trunk developed in a parallel manner. A developer would write big batches of code for various features and then wait for this feature branch to be merged into the trunk, i.e. the master branch.

Once the feature was merged into the master branch, it had to be tested again to make sure that it did not break any other code of a different feature.

Since this system included several batches of code written in isolation by various teams then merged into a single branch, this system was known as a feature branch system. This kind of system limited the scope and number of features, thus slowing down the company's development lifecycle.

Looking at the above conditions, Linkedin decided to move from its traditional feature-based development lifecycle to continuous deployment. This required migrating the old code and building automated tools to make the new system work, halting Linkedin’s development for months.

LinkedIn’s framework after using continuous deployment includes developers writing code in tidy, distinct chunks and checking each chunk into the trunk shared amongst all LinkedIn developers. The newly-added code is then subjected to a series of automated tests to remove bugs.

Once the code passes the tests, it is merged into the trunk and listed out in a system that shows managers what features are ready to go live on the site or in newer versions of LinkedIn's apps.

Now, let me continue this discussion by telling you the basic benefits of continuous deployment.

🔅 Benefits of Continuous Deployment :

🔸Speed — Development does not pause for releases so code is developed really fast.

🔸 Security — Releases are less risky, as before releasing, testing is performed, and all bugs are resolved.

🔸 Continuous Improvements — Continuous deployment supports continuous improvements which are visible to customers.

👉 Industries using Jenkins :

Thanks for Reading !! 🙌🏻📃

🔰 !! Keep Learning !! Keep Sharing !! 🔰

--

--

Anuja Kumari
Anuja Kumari

Written by Anuja Kumari

Learner @ Linuxworld Informative Pvt Ltd || DevOps(Docker,K8S, Jenkins, Terraform, Git and GitHub) || AWS || ( Python | Java )

No responses yet