Understanding Jenkins
What is Jenkins ?
Understanding Jenkins-Jenkins is an open source automation server.
With Jenkins, organizations can speed up the software development process by automating it.
You can utilize container technology such as Docker and Kubernetes, initiate tests and then take actions like rolling forward in production.
You can set up Jenkins to watch for any code changes in places like github,bitbucket or gitlab and automatically do a build a with tools like Maven and Gradle.
Jenkins History:
Back in 2004, Jenkins developer Kohosuke Kawaguchi was working as a Java developer with Sun Microsystems. This curiosity led to the development of an automation server called Hudson. In 2011, there was a notorious dispute between the independent Hudson open source community and Oracle, now owned by Sun Microsystems.
Jenkins was the more preferred choice. The Hudson project was shut down in January 2020. Jenkins is still active.
This dispute led to a fork, which was named Jenkins. Both Jenkins and Hudson continued to exist for a long time.
Read Also –What Is DevOps – The Ultimate Guide For Beginners
Features of Jenkins:
1. Easy Installation & Configuration
It is available for almost all popular operating systems such as Windows, various flavors of UNIX, and Mac OS. It is available as a normal installer as well as a war file. Once installed, it is easy to configure using its web interface. Jenkins is a self-contained Java program that is agnostic about the platform on which it is installed
2. Open-Source
Open-Source You can get support from the Jenkins community, whether it’s for extensibility, support, documentation, or any other Jenkins-related feature. Since it is open-source, it is free to use. It has strong community involvement which makes it a powerful CI/CD tool.
3. Thriving Plugin Ecosystem
The backbone of Jenkins is the community and the community members have been instrumental in the development (and testing) of close to 1500+ plugins available in the Update Center.
4. Easy Distribution
Jenkins is designed in such a way that it becomes relatively easy to distribute work across multiple machines and platforms for quick build, testing, and deployment.
Adavatages of Jenkins:
- It has 1000+ plugins to ease your work. If a plugin doesn’t exist, you can code it and share it with the community.
- It is an open-source tool with great community support.
- It is free of cost.
- It is built with Java and hence, it is portable to all major platforms.
- It is easy to install.
Disadvanteges of Jenkins:
- Its interface is outdated and not user-friendly compared to current user interface trends
- CI regularly breaks due to some small setting changes. CI will be paused and therefore requires some developer’s team attention
- It is not easy to maintain as it runs on a server and requires some skills as a server administrator to keep an eye on its activity.
What is Continuous Integration?
Continuous integration is a development practice that requires developers to commit changes to source code in a shared repository several times a day or more. There are many other tasks like deploying the build application on the test server, providing related. Teams with construction and test results etc.
This allows the teams to detect the problems early. Apart from this, depending on the Continuous Integration tool
Every commit made to the repository is then committed.
Before Jenkins:
The whole process is manual
The entire source code was built and then tested. Detecting and fixing bugs in the event of build and test failure was difficult and time-consuming, which in turn slowed down the software delivery process.
Developers have to wait for test results
After Jenkins:
Developers know the test results of every commit made to the source code during run. Every commit made to the source code is built and tested. Therefore, developers need to focus only on a particular commit rather than examining the entire source code.
Hope you like this blog….
- Dependency Track – End To End CI/CD Pipeline - November 29, 2024
- Dependency-track Jenkins Integration - November 27, 2024
- Jenkins Setup for PyTest + Selenium Automation Testing - November 27, 2024