Logo

dev-resources.site

for different kinds of informations.

Jenkins in Action

Published at
3/29/2021
Categories
jenkins
devops
usecases
automation
Author
piyushbagani15
Author
14 person written this
piyushbagani15
open
Jenkins in Action

Hello Readers🎯

Here I will be discussing what is Jenkins and discussing the Industrial Use Cases of the same.

Introduction to Jenkins

Jenkins is a self-contained, open-source automation server that can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software. 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.

It works with multiple programming languages and can run on various platforms (Windows, Linux, and macOS). It is widely used as a CI (Continuous Integration) & CD (Continuous Delivery) tool.

By using Jenkins, software companies can accelerate their software development process, as Jenkins can automate a build and run tests to ensure the functionality is working fine. Jenkins supports the entire software development life cycle that includes building, testing, documenting the software, and deploying.
alt text

Continuous Integration with Jenkins

Continuous Integration is a software development process where a code is continuously tested after a commit, to ensure there are no bugs.

Let us imagine a scenario where the complete source code of the application was built and then deployed on a test server for testing:

First, a developer commits the code to the source code repository.
Meanwhile, the Jenkins server checks the repository at regular intervals for changes.
alt text
Soon after a commit occurs, the Jenkins server detects the changes that have occurred in the source code repository.
Jenkins will pull those changes and will start preparing a new build.
If the build fails, then the pertinent team will be notified.
If the build is successful, then Jenkins deploys the build in the test server.
You could configure the pipeline (the script to run) to create the build with several steps:
Prepare, test (unit and integration tests), package, publish, deploy.
After running it, Jenkins generates feedback, if these constraints are ok, the artifact is valid ( artifact is a source code compiled for testing, find more info here). And then Jenkins notifies the developers about the build and test results.
Jenkins will continue to check the source code repository for further changes made in the source code, and the whole process will keep on repeating.

Continuous Delivery (CD):

alt text
Continuous delivery is the ability to make changes of all types such as new features, configuration changes, error fixes, experimenting with production in a safe and efficient manner using short work cycles.

Continuous Deployment (CD)

alt text
Continuous deployment, also known as continuous implementation, is an advanced stage of continuous delivery that the automation process does not end at the delivery stage. In this methodology, every change that is validated at the automatic testing stage is later implemented at the production stage.
Automation

We need automation so that manually, time-consuming work can be replaced with an automated approach which has the capability to work efficiently with fewer errors.
alt text

Advantages of Jenkins

Easy Installation Jenkins is a platform-agnostic, self-contained Java-based program, ready to run with packages for Windows, Mac OS, and Unix-like operating systems. It is free of cost.
Easy Configuration Easily Configurable, Jenkins can be easily modified and extended. It deploys code instantly, generates test reports. Jenkins can be configured according to the requirements for continuous integrations and continuous delivery.
Available Plugins There are hundreds of plugins available in the Update Center, integrating with every tool in the CI and CD toolchain.
Extensible Jenkins can be extended using its plugin architecture, providing nearly endless possibilities for what it can do.
Easy Distribution Jenkins can easily distribute work across multiple machines for faster builds, tests, and deployments across multiple platforms.
Easy support Because it is open source and widely used, there is no shortage of support from large online communities of agile teams.

Top Industries that use Jenkins

Looking at Jenkins customers by industry, we find that Computer Software (27%) and Information Technology and Services (11%) are the largest segments.

alt text
Here are the names of the companies which use Jenkins:

Facebook
Netflix
Udemy
Instacard
Robinhood
Twitch
Lyft
Delivery Hero
LinkedIn
Enter fullscreen mode Exit fullscreen mode




How Netflix uses Jenkins:

alt text
Netflix, the popular movie streaming site, deploys a hundred times per day, without the use of Chef or Puppet, without a quality assurance department and without release engineers.

Code is built and tested locally using Nebula
Changes are committed to a central git repository
A Jenkins job executes Nebula, which builds, tests, and packages the application for deployment
Builds are “baked” into Amazon Machine Images
Spinnaker pipelines are used to deploy and promote the code change

Deployment at Netflix is completely automated. When a service needs to be deployed, the developer first pushes the code to a source code repository. The code push is picked up by Jenkins, which subsequently performs a build producing an application package. Then, a fresh VM image (AMI) is produced based on a base image (containing a Linux distribution) and software that all Netflix servers run, including a JVM and Tomcat, possibly further customized by the team. On top of this base install, the application package is installed. From this, an AMI is produced and registered with the system.

Jenkins is used throughout Netflix for a variety of automation tasks above just simple continuous integration. Netflix started with a single massive Jenkins master in their data-center and have evolved to running 25 Jenkins masters in AWS. A Jenkins job is configured to invoke Nebula to build, test and package the application code.

So That’s It…

Thanks For Reading….

Keep Leaning, Keep Hustling🎯🎯🎯

usecases Article's
27 articles in total
Favicon
AI Use Cases in Education: Shaping the Future of Learning
Favicon
Graph Database Use Cases
Favicon
Smart Factory
Favicon
Building Your First Use Case With Clean Architecture
Favicon
4 Types of ETL tools: Description, Pros & Cons, and Use Cases
Favicon
The Power of Mobile Proxy Use Cases
Favicon
🚀 New Whitepaper Alert! 📈 Download Now: "From Insights to Impact: 6 Industry-Specific Use Cases for Business Growth" 📊
Favicon
How Intercom uses Apify to feed web data to its AI chatbot for customer support
Favicon
How web scraping and AI are helping to find missing children
Favicon
Congratulations to the winners of the Luos use case contest!
Favicon
Kubernetes Cost Monitoring with Prometheus & Grafana
Favicon
Positioning elements with Grid
Favicon
InfluxDB: casos de uso
Favicon
K-Means Clustering
Favicon
How a Strong Digital Backbone is Transforming Life Insurance
Favicon
What are the various machine learning usecases for companies/enterprises ?
Favicon
How does Hederas Hashgraph consensus improve things & what are its use cases?
Favicon
Jenkins in Action
Favicon
Neural Networks: Use-Cases in the Real World
Favicon
KUBERNETES in Action
Favicon
Integrating IoT Devices with Datacenter Resources on the SigFox Network
Favicon
Demonstrating IoT at SAP TechEd Barcelona
Favicon
Repositories and Usecases (3) - Complete Movie App
Favicon
OpenFin Apps Need More Than Just REST
Favicon
Creating an OpenFin Event Mesh Across the Hybrid Cloud
Favicon
Use Cases As Documentation
Favicon
Handling OpenFin Inbound Events from the Hybrid Cloud

Featured ones: