In Artifactory versions 2 and 3, there was a global virtual repository called /repo, which aggregated all local and remote repositories found within the Artifactory application. As Artifactory was initially a small and specialized application, things started off well enough. Users would point their builds to artifactory.com/repo and know they’d be able to pull any Java-based package into Artifactory.
However, problems soon began to manifest.
Builds would pull the wrong artifact from the wrong repository. Maven’s Snapshot version would jump wildly depending on which path was resolved first. Downloads would take forever as the repository had to aggregate a multiplicity of paths. Artifactory’s developing usage philosophy led to this repository being permanently disabled in Artifactory 4.7.3.
What were the lessons learned?