When I finished the last book (The DevOps 2.5 Toolkit: Monitoring, Logging, and Auto-Scaling Kubernetes), I wanted to take a break from writing for a month or two. I thought that would clear my mind and help me decide which subject to tackle next. Those days were horrible. I could not make up my mind. So many cool and useful tech is emerging and being adopted. I was never as undecided as those weeks. Which should be my next step?
I could explore serverless. That's definitely useful, and it might be considered the next big thing. Or I could dive into Istio. It is probably the biggest and the most important project sitting on top of Kubernetes. Or I could tackle some smaller subjects. Kaniko is the missing link in continuous delivery. Building containers might be the only thing we still do on the host level, and Kaniko allows us to move that process inside containers. How about security scanning? It is one of the things that are mandatory in most organizations, and yet I did not include it in "The DevOps 2.4 Toolkit: Continuous Deployment To Kubernetes". Then there is skaffold, prow, KNative, and quite a few other tools that are becoming stable and very useful.
And then it struck me. Jenkins X does all those things and many more. I intentionally excluded it from "The DevOps 2.4 Toolkit: Continuous Deployment To Kubernetes" because at that time (the first half of 2018) it was still too green and it was changing all the time. It was far from stable. But the situation in early 2019 is different. While the project still evolves at a rapid pace and there are quite a few things left to do and polish, Jenkins X is being adopted by many. It proved its usefulness. Its community is rising, its popularity is enormous, and it is one of the Kubernetes darlings.
So, the decision was made. This book will be dedicated to Jenkins X.
As with other books, the idea is to go deep into the subject. While the first few chapters might (intentionally) seem very basic, we'll explore Jenkins X and many related tools in depth, and we'll try to see the bigger picture. What is it? What does it do and how it does it? How does it affect our processes? How can with combine it with the things we already have, and which tools should be changed? Is it only about continuous delivery? Does it affect local development? Does it change how we operate Kubernetes?
As with all other books, I do not know in advance where this subject will lead me. I do not plan (much) in advance, and I did not write an index of everything I want to cover. Time will tell what will be the final scope.
The DevOps 2.6 Toolkit: Jenkins X
The article you just read is an extract from The DevOps 2.6 Toolkit: Jenkins X.