| I really scratch my head when I read your comment, as nothing of this is a real issue in my Jenkins. > bunch of random Jenkins servers Either PXE boot from an image, or k8s from an image, have a machine or pod rebooted/destroyed after one job. Update your image once a month, or have a Jenkins job to do that for you. > Authentication, authorization, access control Either use LDAP or Login via Github, and Matrix security plugin. Put all "Devops" group into admins, the rest into users, never touch it again. > configuration CASC plugin and seed for jobs, and/or Helm for just about everything else. > env vars and secrets Pull everything from Vault with Vault plugin. > as a sysadmin Jenkins will suck the life out of you I spend about 1-2 hours a week managing Jenkins itself, and the rest of the week watching the jobs or developing new ones. |
And this is if you get to manage it! Often there's 5 different random Jenkins servers set up by different teams, all of which are EOL and rife with security holes, and they expect you to fix them when they break, nobody version controls their configs or backs them up (they haven't even heard of CasC and have no interest in using it), and your boss says you can't say no, and also you can't upgrade them/take them over. I've seen million-dollar products which are completely dependent on over a thousand Jenkins jobs on an out-of-date Jenkins server, so complex and intertwined it couldn't be replaced.
If it were up to me, I would replace most CI with Drone.io (or Woodpecker CI if it ever gets feature parity). Now that's a dead simple CI system.