Jenkins World 2017: Delivering Persistent Caching of Dependencies to Ephemeral Build Environments

preview_player
Показать описание
Lightning Talk

Рекомендации по теме
Комментарии
Автор

Just FYI how we achieve this.

We use Jenkins Kubernetes plugin to launch slave agents on an OpenShift environment. For my team we care mostly about gem dependencies. So basically we build images and register them in Kubernetes plugin options with some labels. Each job will use a label expression to match a proper image where deps are pre-loaded. Thus we don't need to do any mounts - the deps are already in the containers. What we have to do is to rebuild the slave images regularly which is also easy to automate.

Based on your talk I'm thinking that one can use the Kubernetes/OpenShift shared persistent volumes capabilities to share some disk space between similar slaves, allowing them to share deps in a similar way as you describe. Maybe this would be appropriate for some use cases.

Finally, for those that need to test whole container images, including HA and multitier setups one could use OpenShift build Jenkins plugin. That would allow deploying an application and interact with it as needed.

My team only uses the first thing I describe though. Not responsible to support multiple teams.

akostadinov