And then somebody needs a different, incompatible, version of plugin X and you set up another Jenkins master.
Or upgrade the the Jenkins master and watch other jobs fail.
And not to mention plugin Y and plugin Z crashing Jenkins when being run together because they share the same classpath.
While in the meantime one of the developer is trying to migrate his pipeline from one master to another and he finds out that of course they won't work because the plugins and configuration are not exactly the same.
This is exactly what OP was complaining about. You don't set up plugins and configuration just once. You want them to be replicable, but Jenkins does not provide a good way to do that.
Most other CI/CD system handle this issue very simply. They just don't have plugins, and have very little (if any) global configuration. This means you can start up an entirely new cluster and chances are your pipeline files will run without a hitch.
Or upgrade the the Jenkins master and watch other jobs fail.
And not to mention plugin Y and plugin Z crashing Jenkins when being run together because they share the same classpath.
While in the meantime one of the developer is trying to migrate his pipeline from one master to another and he finds out that of course they won't work because the plugins and configuration are not exactly the same.
This is exactly what OP was complaining about. You don't set up plugins and configuration just once. You want them to be replicable, but Jenkins does not provide a good way to do that.
Most other CI/CD system handle this issue very simply. They just don't have plugins, and have very little (if any) global configuration. This means you can start up an entirely new cluster and chances are your pipeline files will run without a hitch.