After 10 years and 655 weekly releases the open source Jenkins project has finally decided it’s time to release Jenkins 2.0. Importantly this is more than just a new front-end and a clean-up of previous releases.
According to Kohsuke Kawaguchi, creator of Jenkins and CloudBees CTO said: “As Jenkins user adoption continues to grow into the millions of users, the community has responded with core updates to assure continued, long term success. The Jenkins 2.0 release helps new and existing users implement continuous delivery with the most flexible way to model, orchestrate and visualize the entire delivery pipeline.”
New features to compete with commercial solutions
The new release has a number of key features that are designed to keep the product competitive with offerings from commercial developer tools vendors. One such feature is the introduction of Pipelines which is designed to make it easier for Jenkins users to go beyond Continuous Integration into Continuous Deployment.
As well as pipelines, Jenkins has addressed the problem usability. It has been very successful in creating a large ecosystem of plug-ins. The downside is that this can make it difficult for users to decide what plug-in they need for their project. Attention has also been paid to the way users navigate around certain parts of the system.
To achieve this Jenkins now has features such as:
- Pipeline as code: This uses a new Domain Specific Language that makes it easy to define a pipeline. This can be easily adopted into existing DevOps environments and also allows pipelines to be shared between teams. What is not clear is how easy it is to move a code feature between pipelines and have all the associated data flow with it.
- Pipeline Stage View: This is a visual interface that allows developers to see where they are with their pipelines. They can view either an individual pipeline or look at all pipelines. Where moving some projects through to Continuous Deployment is reliant upon other projects it is also possible to see quickly where the delays are and take decisions as to whether pipelines need to be reordered or changed.
- Improved Getting Started experience: The large number of possible plugins that are available for Jenkins can make it difficult for developers to get started. As such there is now an option to install a set of suggested plugins rather than go through the entire catalogue. It will be interesting to see how this develops. Just providing the “top ten” plugins will make it difficult for new plugins to gain traction and could put developers off. This means that there may well need to be some additional work done on this behind the scenes.
- Redesigned pages: Both the Create Item and New Job Configuration pages have had makeovers. This includes features such as better grouping of items and a simpler UI to make navigation easier for new and experience Jenkins users.
- Backward compatible: Unlike some vendor updates where backward compatibility with earlier versions can still mean some loss of functionality, Jenkins is promising that all features that have been introduced and exist inside Jenkins today are supported in Jenkins 2.0
Alongside this, CloudBees who deliver an enterprise version of Jenkins have also updated their own offering to ensure that they are supporting Jenkins 2.0 right from the launch. This means bringing support for pipelines into their visualisation tools and supporting the new UI enhancements for users.
This is a release that will be quickly taken up by a lot of Jenkins users who are used to adopting the weekly updates. It will be interesting to see if there are any issues over the next couple of months and what has to be done by plugin vendors to ensure that they are still able to work seamlessly with Jenkins 2.0 as they have with the original release.
For those enterprise tools vendors who are still struggling to move seamlessly into DevOps, Jenkins 2.0 is likely to be disruptive.