GitOps Recommendations

Recommendations on using GitOps to for your Jenkins servers

One of the awesome things about Jenkins is you can use it to do anything in any way you like. e.g. you can add/configure any Jenkins server via the UI which then modifies the state on disk. This can make things harder to manage at scale; tracking who changes what and to diagnose issues and perform backup and restore etc.

We have been using the GitOps approach to managing things in production for the last few years on the Jenkins X project and it has lots of benefits:

  • every change is audited so you can see exactly what was changed and by who in git
  • you can easily revert changes if they go bad
  • all state being in git means its super easy to recreate your infrastructure in another region or using different machine types without complex backup/restore processes being in place

So we recommend trying to follow the GitOps approaches for your Jenkins servers too. e.g.