Docker executor, have an option to disable the implicit volume for builds_dir
Description
We have a project with over 200 components. All of their dependencies get installed through yarn, which adds over 300k files. Currently, each component have their own job and each of these take about 4m just to setup the build to have its dependencies. We currently use a local cache to the runner to provide the files (faster than artifacts).
We tried to build a docker image of the resulting dependencies to leverage GIT_STRATEGY: none, but through testing we found that the /builds folder get automatically assigned a volume.
docker.go contains an unconditional call to createBuildVolume(). In it, it compares the value of GIT_STRATEGY, but no matter the value there is some sort of volume mounted.
What we are looking to achieve is a shared, prebuilt build directory for a pipeline.
Proposal
Introduce a new GIT_STRATEGY, externallyManaged (or some other name) that would skip the management of /builds.