Jenkins Configuration as Code (JCasC)
We've spent Part 1 of the book setting up Jenkins by hand, one button click at a time. Wouldn't it be nice if all of this could be codified? It would allow us to download a configuration file and run it to have fully configured Jenkins out of the box.
Jenkins Configuration as Code (JCasC), officially introduced in DevOps World - Jenkins World 2018, is a solution heading in that direction. It provides a way to declaratively apply a configuration to the Jenkins controller, agents, and plugins. Its admirable stated goal is to Configure ALL Jenkins initial setup with no hands on keyboard and no click on UI (https://www.jenkins.io/projects/jcasc/), which fully resonates with my aspiration to automate all things.
It's not perfect of course. Most notably, it doesn't support importing credentials (although there are advanced workarounds for determined admins). This means that any configuration item that requires a secret...