What is Jenkins?
Why Innovation Companies should be part of Jenkins community and how to Join.
Jenkins® is an open-source automation server. With Jenkins, organizations can accelerate the software development process by automating it. Jenkins manages and controls software delivery processes throughout the entire lifecycle, including build, document, test, package, stage, deployment, static code analysis, and much more.
You can set up Jenkins to watch for any code changes in places like GitHub, Bitbucket, or GitLab and automatically do a build with tools like Maven and Gradle. You can utilize container technology such as Docker and Kubernetes, initiate tests, and then take actions like rolling back or rolling forward in production.
The Jenkins project was started in 2004 (originally called Hudson) by Kohsuke Kawaguchi, while he worked for Sun Microsystems.
Kohsuke was a developer at Sun and got tired of incurring the wrath of his team every time his code broke the build. He created Jenkins as a way to perform continuous integration — that is, to test his code before he did an actual commit to the repository, to be sure all was well. Once his teammates saw what he was doing, they all wanted to use Jenkins. Kohsuke open sourced it, creating the Jenkins project, and soon Jenkins usage had spread around the world.
Originally developed by Kohsuke for continuous integration (CI), today Jenkins orchestrates the entire software delivery pipeline — called continuous delivery. For some organizations, automation extends even further, to continuous deployment. Continuous delivery (CD), coupled with a DevOps culture, dramatically accelerates the delivery of software.
CI definition and its main goal
Continuous Integration (CI) is a software development practice that is based on a frequent integration of the code into a shared repository. Each check-in is then verified by an automated build.
The main goal of continuous integration is to identify the problems that may occur during the development process earlier and more easily. If you integrate regularly — there is much less to check while looking for errors.
That results in less time spent on debugging and more time for adding features. There is also an option to set up an inspection of the code style, cyclomatic complexity (low complexity makes the testing process more simple), and other checks. That helps to minimize the efforts of the person responsible for the code review, saves time, and improves the quality of the code.
Jenkins is the most widely adopted solution for continuous delivery, thanks to its extensibility and a vibrant, active community. The Jenkins community offers more than 1,700 plugins that enable Jenkins to integrate with virtually any tool, including all of the best-of-breed solutions used throughout the continuous delivery process. Jenkins continues to grow as the dominant solution for software process automation, continuous integration and continuous delivery and, as of February 2018, there are more than 165,000 active installations and an estimated 1.65 million users around the world.
Jenkins and the Continuous Delivery Foundation
In 2019, the Continuous Delivery Foundation (CDF) was launched operating under the umbrella of the Linux Foundation.
The CDF is focused on developing, nurturing, and promoting open source projects, best practices industry specifications related to continuous delivery. The CDF houses a variety of open source projects, including Jenkins, Jenkins X, Spinnaker, and Tekton. Renova Cloud participates as a founding member and contributes technologies and resources to the project on an ongoing basis.
The registered trademark Jenkins® is used pursuant to a sublicense from the Jenkins project and Software in the Public Interest, Inc.