In preparation for Jenkins World this September 13-15, I interviewed Kohsuke Kawaguchi, CTO of CloudBees and creator of Jenkins. You can register for 20% off by using our code JWDZOCUST when you register as a general attendee at this link!
How has the past year been for Jenkins? What are the highlights?
A lot is going on during the last 12 months here at the Jenkins project! We’ve spent a lot of efforts on Jenkins Pipeline to make Jenkins awesome for more sophisticated automation needs, such as continuous delivery (CD). We’ve launched a new effort to redesign the user interface of Jenkins, a project we are calling “Blue Ocean, “and above all we released Jenkins 2.0, which is the first-ever major new release for Jenkins in its 10+ year history.
*Note: the community has put out weekly, incremental releases for 10 years, but Jenkins 2.0 was a major leap forward.
What new features are coming to Jenkins?
Jenkins is like a food bazaar, in that a lot of people are independently cooking a lot of things, but major features that are being tackled now are related to the next phase of improvements to Jenkins Pipeline. We want to make it a lot easier to use and author, and this ranges from better, simpler syntax to improved error messages, a visual editor and more.
In the long run, this effort can be thought of as a part of a broader trend toward moving to the “stateless Jenkins,” which involves managing more of the configuration in Git, moving to more fungible ephemeral container-based build agents, and reducing its reliance on a local file system for better scalability and availability.
It’s been a year since Jenkins Pipeline was released. What’s user reaction to that like?
One thing that kept surprising me during the entire life of the Jenkins project is the appetite for automation in our industry. I feel like much of the effort we spend in Jenkins is to keep up with various facets of this. Jenkins Pipeline is the newest phase of this, and I think it hits lots of pain points that people traditionally had with Jenkins, such as resumability of builds across restarts, Jenkins files in Git and the flexibility it offers. We’ve put this as a central pillar of Jenkins 2.0, and I think that message is getting across to users.
What are your plans for Jenkins Pipeline in the future?
Another thing that kept surprising me is that it takes so long to develop tools like Jenkins. I sometimes cannot believe I’ve been doing this for 10+ years and there’s still more work to do. Jenkins Pipeline is no exception.
Our next wave of focus is around making Jenkins Pipeline easier to use and more accessible for beginners and intermediate users. For example, we’d like to create a subset of Jenkins Pipeline that feels more like configuration and is easier to grok without programming experience. This should be something anyone can read and grok, and you should be able to author it by hand or by visual editor, whichever you prefer. I want the syntax to look nicer, error messages to be friendlier and documentation to be better.
As Jenkins Pipeline reaches more Jenkins users, I think these are important efforts that will help lots of users.
What are your thoughts about the Internet of Things? How can tools like Jenkins help that industry?
One of my hobbies includes electronics with microcontrollers, and if what I know from there is correct, then the Internet of Things world involves substantial amount of software development that runs inside embedded devices. The standard techniques that web application development has evolved to over decades, such as test automation, continuous integration and so on applies just as well in those environments, and I’d like to think Jenkins plays an important part in it.
I think testing is still a much bigger challenge in this field compared to web application development, and so is deploying the software into hardware for testing. As those things improve, the value of Jenkins will only increase there.
Anything cool you’re working on, software or not?
Another one of the hobbies I picked up is accessory-making with beads. The idea is that you buy these individual beads that come in all sorts of colors, shapes and materials, then you thread them together to create jewelry and accessories. It took me a while to overcome the initial fear of going into beads shops that are filled by women of all ages, but unlike LEGO and video games, I can actually talk about this stuff with my wife and she cares about it!
In terms of software, I haven’t hacked much outside Jenkins lately. I have one software project going that I use to assist in my cross-stitching and LEGO mosaic projects, and another project I enjoy hacking on from time to time is GitHub API for Java, which I also use in Jenkins.
If you're interested in attending the show, be sure to use our code JWDZOCUST when you register!