What is a Remote repository and how does it work?

JFrog Support
2018-08-14 09:14

A Remote repository is an integral part of Artifactory, both in the Open Source Software (OSS) and the pro versions.

A remote repository in Artifactory is just a proxy to repository located on a remote server. Requests to this Artifactory remote repository will try to resolve the artifact from the local cache, and if the artifact cannot be found locally, Artifactory will attempt to resolve the artifact from the remote server and then store that artifact in the local cache for future requests.

As a concrete example, let us use the ‘jcenter’ remote repository as an example (it’s predefined in Artifactory)
In our example, a Maven build begins and Maven is using Artifactory as it's source repository so Maven requests the resource from Artifactory.  Artifactory will typically be set up so that it first looks for the file in one or more of your local repositories. If the necessary artifact is not found, Artifactory will then look in the local cache of your remote Maven repository (JCenter); If the files are not located in the local cache, Artifactory will go to the internet to attempt to obtain the resources from JCenter.  Assuming that the resources are located, Artifactory will cache them locally – so that next time no network connection is needed – and then provide the binaries to the Maven so that the build can proceed.

* It should be noted that only the requested files will be cached, and not the entire ‘JCenter’ repository.