title: Configuring different build tools for Jenkins Instance in Openshift
body: <p>We are providing Jenkins As a Service using Openshift as orchestration platform in our corporate environment. Different teams use different tools and their version to configure jobs. </p>
  
  <p>For instance, we have 3 different combinations of java and maven. 5 different version of npm, 2 different version of python.</p>
  
  <p>I wanted to know what is the best practice of configuring different tools? </p>
  
  <p>Do I need to create and use slave image for each combination and different version of tool?</p>
  
  <p>Is it a good practice to keep a simple slave image like different jdk versions (1.7, 1.8 etc) and configure JDK, NPM, Maven, Python packages as tools and use a persistent volume on slave. So that, during build these packages are setup on the fly in the PVC. </p>
  
  <p>Is that an anti-pattern to use tools this way in docker slave images?</p>