Planning, Deploying, and Maintaining Jenkins
While the first chapter described the importance of using a CI tool, among other things, this chapter describes how to plan, deploy, and maintain one. Our goal here is to design and deploy a resilient, cost-effective, secure, high-performing, and operational Jenkins setup.
We will accomplish this by looking at the Jenkins server architecture, followed by evaluating a few Jenkins server deployment scenarios against the Well-Architected Framework (see [1] in the Further reading section at the end of this chapter).
Following that, we will cover the two most popular ways of deploying Jenkins and learn how to implement them step by step. While doing so, we will incorporate some key DevOps practices such as Infrastructure as Code (IaC), and a Jenkins-specific approach called Jenkins Configuration as Code (JCasC). Finally, we’ll go through the Jenkins server’s maintenance.
The CI ecosystem is larger as it contains not just...