A very warm welcome for coming here to read this article and In this article i discussed what is jenkins and what is the functionality of jenkins and how industries use this ci/cd tool effectively to save the resources and money .
What is Jenkins
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.It supports version control tools, including AccuRev, CVS, Subversion, Git, Mercurial, Perforce, ClearCase and RTC, and can execute Apache Ant, Apache Maven and sbt based projects as well as arbitrary shell scripts and Windows batch commands.
History Of Jenkins
The Jenkins project was originally named Hudson, and was renamed after a dispute with Oracle, which had forked the project and claimed rights to the project name. The Oracle fork, Hudson, continued to be developed for a time before being donated to the Eclipse Foundation. Oracle’s Hudson is no longer maintained and was announced as obsolete in February 2017.
Feature’s Of Jenkins
Jenkins offers many attractive features for developers:
- Jenkins is a platform-agnostic, self-contained Java-based program, ready to run with packages for Windows, Mac OS, and Unix-like operating systems.
- Jenkins is easily set up and configured using its web interface, featuring error checks and a built-in help function.
- There are hundreds of plugins available in the Update Center, integrating with every tool in the CI and CD toolchain.
- Jenkins can be extended by means of its plugin architecture, providing nearly endless possibilities for what it can do.
- Jenkins can easily distribute work across multiple machines for faster builds, tests, and deployments across multiple platforms.
Free Open Source
- Jenkins is an open-source resource backed by heavy community support.
As a part of our learning about what is Jenkins, let us next learn about the Jenkins architecture.
Jenkins Master-Slave Architecture
As you can see in the diagram provided above, on the left is the Remote source code repository. The Jenkins server accesses the master environment on the left side and the master environment can push down to multiple other Jenkins Slave environments to distribute the workload.
That lets you run multiple builds, tests, and product environment across the entire architecture. Jenkins Slaves can be running different build versions of the code for different operating systems and the server Master controls how each of the builds operates.
Supported on a master-slave architecture, Jenkins comprises many slaves working for a master. This architecture — the Jenkins Distributed Build — can run identical test cases in different environments. Results are collected and combined on the master node for monitoring.
Use Cases Of Jenkins
How Jenkins Builds the Netflix Global Streaming Service
Netflix is a streaming service that offers a wide variety of award-winning TV shows, movies, anime, documentaries, and more on thousands of internet-connected devices. So Netflix greatly uses Jenkins for its use case. Once a line of code has been built and tested locally using Nebula, it is ready for continuous integration and deployment. The first step is to push the updated source code to a git repository. Teams are free to find a git workflow that works for them.
Once the change is committed, a Jenkins job is triggered. Netflix’s use of Jenkins for continuous integration has evolved over the years. They started with a single massive Jenkins master in their datacenter and have evolved to running 25 Jenkins masters in AWS. Jenkins is used throughout Netflix for a variety of automation tasks above just simple continuous integration.
A Jenkins job is configured to invoke Nebula to build, test and package the application code. If the repository being built is a library, Nebula will publish the .jar to our artifact repository. If the repository is an application, then the Nebula ospackage plugin will be executed.
Topdanmark is a leading Danish insurer who chose Jenkins as the “de facto” product to build their CI/CD platform.
Balancing the needs of DevOps modernization and cloud migration while maintaining legacy systems.
A highly-configurable CI/CD platform which allows for automation and ease of development.
- 100% automatic creation of Jenkins instances
- the ability to release and deploy an artifact whenever, wherever
- software developers focused on developing software rather than operations
- smaller monoliths and containerization
Topdanmark has two Jenkins setups. They have two sets of systems, legacy and CI/CD. In their legacy setup, they have test, integration, release, and production environments. In their CI/CD setup, they have a non-production and a production environment.
“We used Jenkins because almost everyone knows what Jenkins is and how to use it. It is the ‘de facto’ product to use in our world. And it’s extremely configurable.” said DevTools engineer Jon Brohauge.
These were some of the industry use cases of Jenkins. Thank you for reading!!:)