Jenkins 2.0 arrived today, showing it has grown to dominate enterprise build and test processes. With this release, many new enterprise features make their way into the platform.
Chief among those features is Pipeline as Code, a new subsystem that pushes job configuration into SCM and makes job creation automatic. The new pipeline features allow automatic setup of new pipelines when a Jenkinsfile is added, allowing automated pipelines to be created or removed quickly by developers and administrators.
Pipelines are defined by a Pipeline script, which describes the actions to be taken when changes are committed to source code. This could mean the automated running of build and test scripts, or it could mean the automated deployment of a new artifact to a datacenter.
Version 2.0 also has a major UX overhaul included, thanks to the use of more consistent terminology in documentation and menus, as well as the addition of tabs to the job configuration page. This is bolstered by a new webpage, which is more refined and easier to navigate.
Jenkins 2.0 does not include every feature originally slated for this version, however. One of the major changes laid out for this release—the introduction of a backward-compatibility policy—has been pushed back to the next release. The goal of this policy is to ensure unused APIs and code are pruned from Jenkins, though currently it’s unclear what will be deprecated.
Depreciation, however, will likely start with dates of support for existing APIs, and thus users will know ahead of time how long their chosen APIs will remain supported in future releases.
Other deprecated changes include a move to bring Groovy out of the core of the project and to hide the core libraries from plug-ins.
R. Tyler Croy, Jenkins project board member and community evangelist at CloudBees, said, “In short, 2.0 includes a lot of changes to make it easier to get started with Jenkins, and easier to successfully build out Continuous Delivery pipelines for all manners of software projects with the ‘Pipeline as Code’ work.”
Croy recently told SD Times that “The most interesting and widely useful plug-ins are being suggested by default in Jenkins 2.0, including the Pipeline (allows defining your delivery pipeline as code), Pipeline Stage View (which gives you a great overview or your delivery pipeline), Git client plug-in, and the Folder plug-in (allows creating folders to contain jobs/pipelines, making Jenkins much more organized). Another great plug-in suggested in 2.0 is the ‘GitHub Organization Folder’ plug-in, which builds on top of the Folder and Pipeline plug-ins to automatically discover repositories which contain Jenkinsfiles in your GitHub organization and create the appropriate pipelines in your Jenkins instance. Automating the creation of automation.”