KostyaSha / yet-another-docker-plugin

Jenkins Yet Another Docker Plugin
https://plugins.jenkins.io/yet-another-docker-plugin
MIT License
83 stars 48 forks source link

Improve plugin configuration in order to scale easily #47

Open fboudra opened 8 years ago

fboudra commented 8 years ago

In my setup, I've got several docker servers deployed (+20) and each of them provide +10 different containers images. In the plugin terms, it's +20 YADP clouds with +10 docker templates each.

In fact, I have a cloud of bare-metal machines and when we ask to provision a specific label, it can be provisioned on any of the machines that can provision the requested docker image.

In the configuration layout, it means +200 configurations. Each time we add a new server, we have to duplicate the +10 docker templates. If we add a new docker template, we have to duplicate it for each of the +20 YADP clouds. All these copy/paste can potentially introduce typo and takes too much time.

A cloud can contain multiple servers and the docker images available in one cloud can also be available in another cloud. A docker template can be applied to several docker server.

Bottom line, it doesn't scale. Current UI doesn't allow to describe the typology of the cloud(s) in a flexible manner.

I think the configuration UI will need some re-work to cope with larger deployment than 1 cloud/1 docker server/1 docker image and allow to easily scale and safely.

I don't have a proposal at the moment but I wanted to state the problem. Make sure it's acknowledge because it's probably not a trivial task to fix.

KostyaSha commented 8 years ago

Hi, i refactored and created storage for templates, but then realised that they may differ in counts/configurations and it not suitable to handle them. So i reverted it back to current variant.

Would swarm help in your case?

KostyaSha commented 7 years ago

160 related

KostyaSha commented 7 years ago

Old issue, but... @fboudra there are multiple ways how configure as code now. If you are interested i describe. I think UI configuration in jenkins will never be easy, so better not rely on it and do code.

fboudra commented 7 years ago

@KostyaSha I definitely agree about the UI, it will never be easy. For documentation purpose, it will be great if you can summarize and describe the option(s) available to address the scalability issue. I've been using configure-yadocker-cloud.groovy script, which greatly improve the situation. I still need to switch my infra to classical docker swarm. It is the next milestone. Thanks for your work.