0

We are planning to implement jenkins for the whole organization. We want to go with single jenkins instance that will be used by many teams with Slave architecture. I want to know if there are any best practices for Plugin management. Since teams would request for installing different plugin, how can i manage these plugsin installation.

Thanks in advance for all your help

2 Answers2

2

I would install Docker on all agent machines and instruct teams to make use of Docker containers in their Pipelines as much as possible. Thereby you forego the need of installing different programming languages and plugins on all your agents.

For plugins that really have to be added to Jenkins, I'd set up a test instance of your Jenkins server, to try out the plugin, and see whether it clashes with existing plugins. Try to keep the number of plugins low, suggest people to only use quality plugins that get recent upgrades, and remove plugins when you no longer need them.

Joep Weijers
  • 1,844
  • 12
  • 19
  • Thanks for responding very soon. You mean to say the if application teams need any separate plugins, they need to install as a part of pipelines and remove once the pipeline is done. Please correct me if iam wrong – Jagadish Manchala Aug 28 '20 at 10:13
  • No you misunderstand me. Let me try to make it more clear: use Docker images in pipelines, that can help you by having fewer plugins. If you do need to use plugins, try those plugins out first in a test/acceptance environment of your Jenkins, to see if they work and do what you expect. – Joep Weijers Aug 28 '20 at 13:41
0

One issue you will encounter is Jenkins has no (as far as I can find) authorization strategy for plugins. Basically, all plugins are available to everyone. Thia may be an issue if teams have different and contraindicated requirements (eg: a team not allowed to use ssh or HTTP requests). If you have a homogeneous approach to SW development, code, infra, tools, etc, then it becomes a matter of scale only..

In a large org, you also may have issues with a single Jenkins merely finding maintenance windows. It also creates a single point of failure.Are you OK w/that or need H/A?

You may benfit from several masters (per business unit or product) and use JCasC to manage common configurations overview, plugin to make your life easier.

Ian W
  • 4,559
  • 2
  • 18
  • 37
  • go it IanW. This is the approach we are looking even. – Jagadish Manchala Aug 31 '20 at 09:18
  • General info on plugin mgmt, read [this](https://stackoverflow.com/questions/58806355/jenkins-failed-to-install-plugins-docker-image/58815327#58815327) and [this](https://devops.stackexchange.com/questions/9705/jenkins-upgrading-and-plugins-ordering/9749#9749) – Ian W Aug 31 '20 at 10:01
  • If you find this (or another) answer addressed your problem, please mark as "Accepted" (the tick box). If you found it useful, please upvote. – Ian W Aug 31 '20 at 22:42