Jenkins plugins containerization

Hello everyone,

Is there a work like containerization of plugins in Jenkins?
I have multiple Jenkins environments; These all environments were established 4-5 years ago on average and 1000+ pipelines and 200+ plugins are currently active.

I upgraded my Jenkins environments and plugins the other day, it was a bit of a challenge for me; The Artifactory plugin I used broke Jenkins’ settings page. When I updated the Artifactory plugin, I had some mail issues in my pipeline because Artifactory plugin had Mailer ≥ 1.24 dependencies. It’s no big deal, but I’ve resolved the issues.

I’m thinking this is just a thought, is it possible for plugins on Jenkins to be containerization on their own? Of course, Jenkins application development is needed for this.

I thought that such a development would be very useful for us as users and for people like me who manage a lot of pipelines and plugins. Each plugin by itself; Can it contain itself and other plugins it depends on?

On Jenkins, of course, all pipelines need to be circulation, so when you update a plugin, we need to check whether it will affect all pipelines, but for people like me who have too many pipelines (some of the pipelines written 4 years ago and I am still using them by patching :frowning: ) very difficult.

I track my plugin versions, job definitions, and other Jenkins configuration in a container definition that is stored in a git repository. The Jenkins container images include the plugin installation manager tool that uses a text file definition of the plugins and their versions.

The configuration as code plugin stores the system configuration (static agent definitions, label definitions, tool versions, tool locations, etc.) in text files that simplify configuration changes.

The repository I use is on GitHub - MarkEWaite/docker-lfs at lts-with-plugins

Sam Gleske has repositories that store controller configuration. I’m sure there are others doing similar things.

3 Likes