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 SVN and GitHub, automatically do a build with tools like Ant and Maven, utilize container technology such as Docker and Kubernetes, initiate tests and then take actions like rolling back or rolling forward in production.
History: It All Started with Jenkins Continuous Integration
The Jenkins project was started in 2004 (originally called Hudson) by Kohsuke Kawaguchi, CTO at CloudBees, 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 CI 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 CI project, and soon Jenkins usage had spread around the world.
Jenkins Today: Evolved to Continuous Delivery
Originally developed by Kohsuke for continuous integration (CI), today Jenkins orchestrates the entire software delivery pipeline – enabling 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.
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,500 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 dominate solution for software process automation, continuous integration and continuous delivery and, as of February 2018, there are more than 150,000 active installations and an estimated 1.5 million users around the world.
The Jenkins project is an independent open source community under the umbrella of a non-profit organization Software in the Public Interest, which owns the key project assets including the Jenkins trademark. The project has its own decision-making process and a governance board.
CloudBees and the Jenkins Community
CloudBees is an active participant in the Jenkins community and plays a significant role in supporting the project. A number of key contributors to the Jenkins project are employed by CloudBees. In support of the community, CloudBees is the lead sponsor of Jenkins World, the annual user conference for the Jenkins community. Jenkins World enables the community to gather together, fosters a sense of community, allows users to learn from each other and supports community growth. CloudBees has also supported the growth of Jenkins Area Meetups (JAMs) around the world.
Engineers from the CloudBees support and product teams regularly contribute code to the Jenkins project, are active in Jenkins IRC channels and project meetings, and contribute to the Jenkins project mailing lists. Several of the key projects CloudBees has developed include Jenkins X, Blue Ocean and Jenkins 2. Additionally, all fixes made by CloudBees in the open source code are donated back to the project – which helps us all to enjoy ever-higher quality.
CloudBees also provides a monthly newsletter for the Jenkins community called Continuous Information. It is filled with community tips and tricks, articles, presentations, events occurring around the world and many other resources. Subscribe and have it delivered to your inbox every month.
Major Development Milestones in the Jenkins Project
The community never sits still. It is constantly innovating and improving Jenkins. Here are some of the major development milestones for the Jenkins project:
- Jenkins X – A guided, continuous integration / continuous delivery solution for modern cloud native applications with Jenkins on Kubernetes
- Learn more about Jenkins X in blog posts from James Strachan, project lead, and Kohsuke Kawaguchi, founder of the Jenkins project.
- Jenkins X project website
- Jenkins Essentials – a challenge from Kohsuke to the community to make Jenkins downloadable, installable and usable in five minutes.
- Blue Ocean graphical UX – An intuitive user experience for Jenkins which makes continuous delivery accessible to all users.
- Declarative Pipeline – A simple declarative syntax, for defining your delivery pipelines as code.
- Read the blog: Announcing General Availability of Declarative Pipeline
- Jenkins Pipeline – Pipeline as code, a powerful scripting language enabling you to create and manage your software delivery using development best practices.
- Technical Guide: Jenkins Pipeline with Plugins
- Whitepaper: Using the Pipeline Plugin to Accelerate Continuous Delivery
- Jenkins Minute video series: Check out the video series of short tutorials about using Jenkins Pipeline
- Blog post: Top 10 Best Practices for Jenkins Pipeline Plugin
- Jenkins community blog
- Community curated Jenkins resources
- Jenkins project Wiki pages
- Jenkins Subreddit
- Jenkins tutorial
- How to find the community
- Jenkins IRC
- Jenkins World – the annual conference for the Jenkins and DevOps community
- Jenkins World 2017 recordings
- Take a Jenkins training class
- Get certified – become a Certified Jenkins Engineer
- Follow the Jenkins project on Twitter
- Book: Jenkins: The Definitive Guide: Continuous Integration for the Masses
The registered trademark Jenkins® is used pursuant to a sublicense from the Jenkins project and Software in the Public Interest, Inc.