// This page describes MAVEN_MIRROR_URL variable usage // It requires 'bcname' attribute to be set to the name of the product A repository in Maven holds build artifacts and dependencies of various types (all the project jars, library jar, plugins or any other project specific artifacts). It also specifies locations from where to download artifacts from, while performing the S2I build. Besides using central repositories, it is a common practice for organizations to deploy a local custom repository (mirror). Benefits of using a mirror are: * Availability of a synchronized mirror, which is geographically closer and faster. * Ability to have greater control over the repository content. * Possibility to share artifacts across different teams (developers, CI), without the need to rely on public servers and repositories. * Improved build times. Often, a repository manager can serve as local cache to a mirror. Assuming that the repository manager is already deployed and reachable externally at *_pass:[http://10.0.0.1:8080/repository/internal/]_*, the S2I build can then use this manager by supplying the `MAVEN_MIRROR_URL` environment variable to the build configuration of the application as follows: . Identify the name of the build configuration to apply `MAVEN_MIRROR_URL` variable against: + [subs="attributes"] ---- oc get bc -o name buildconfig/{bcname} ---- . Update build configuration of `{bcname}` with a `MAVEN_MIRROR_URL` environment variable + [subs="attributes"] ---- oc env bc/{bcname} MAVEN_MIRROR_URL="http://10.0.0.1:8080/repository/internal/" buildconfig "{bcname}" updated ---- . Verify the setting + [subs="attributes"] ---- oc env bc/{bcname} --list # buildconfigs {bcname} MAVEN_MIRROR_URL=http://10.0.0.1:8080/repository/internal/ ---- . Schedule new build of the application NOTE: During application build, you will notice that Maven dependencies are pulled from the repository manager, instead of the default public repositories. Also, after the build is finished, you will see that the mirror is filled with all the dependencies that were retrieved and used during the build.