There is a new feature for Jenkins which we have been working on at CloudBees, we call it Literate builds. We will be providing more details on this later. But I know, as a developer, I like to try first and then read the documentation. Right now this feature is new. There are about 10 plugins that require changes in order to get the full set of features:
- The Credentials plugin
- The GIT client plugin
- The GIT plugin
- The Subversion plugin
- The Mercurial plugin
- A new SCM API plugin
- A new Branch API plugin
- The literate plugin itself
- Plus some GitHub plugins still to be released which make pull requests and push notification nicer
The changes to the GIT/Subversion/Mercurial plugins are the ones we worry the most about, because these plugins are used by everyone, so if we have broken something… there will be a lot of complaints.
Enter the experimental update centers:
These update centers expose plugins with alpha or beta in their version number, while the traditional update centers now refuse to serve alpha or beta releases.
This lets us cut releases of the plugins for the adventurous users while protecting the more cautious users at the same time.
But what do you do if you are a DEV@cloud user?
Here’s Stephen’s step by step.
- Create a new account (https://www.cloudbees.com/) because if you mess up your existing account you might become somewhat tetchy:
Subscribe to the DEV@cloud service and wait for your Jenkins to start:
After a short while you should have a nice shiny new Jenkins to play with:
Click on Manage Jenkins
Click on Configure System
Scroll down until you find the “Access to experimental plugin releases” section and enable the tick box and save changes:
Go to Manage Jenkins » Manage Plugins, you should see the alpha and beta releases of the GIT and Subversion plugins with the nice scary warning messages:
You will want to download both of them (they are upgrades, and upgrades will need a restart) but don’t restart straight away
Go to the Available tab and in the filter box type “literate” and install the Literate Plugin and then restart:
Once Jenkins restarts you should have the new literate job type:
If you want a project to try it out on, you could always try dogfooding the literate plugin itself:
Add a Branch Source, select Git and give the following repository URL: https://github.com/jenkinsci/literate-plugin.git
Here are some resources on Literate Builds:
- The Jenkins wiki page: https://wiki.jenkins-ci.org/display/JENKINS/Literate+Plugin
- The Plugin’s README.md (dogfooding): https://github.com/jenkinsci/literate-plugin
- Our own wiki page: https://developer.cloudbees.com/bin/view/DEV/LiterateBuilds
- Examples of Literate projects: https://github.com/jenkinsci/literate-api/tree/master/src/test/resources/org/cloudbees/literate/api/v1/MarkdownModelTest
Stephen Connolly has over 20 years experience in software development. He is involved in a number of open source projects, including Jenkins. Stephen was one of the first non-Sun committers to the Jenkins project and developed the weather icons. Stephen lives in Dublin, Ireland - where the weather icons are particularly useful. Follow Stephen on Twitter and on his blog.