The JFrog Platform hosts the following repository types:
Local and remote repositories are true physical repositories, while a virtual repository is actually an aggregation of them used to create controlled domains for the search and resolution of artifacts.
Local repositories are physical, locally managed repositories into which you can deploy artifacts.
Artifacts in a local repository can be accessed directly using the following URL:
For full details on configuring local repositories, please refer to the Local Repositories page.
A remote repository serves as a caching proxy for a repository managed at a remote URL (which may itself be another Artifactory remote repository). Artifacts are stored and updated in remote repositories according to various configuration parameters that control the caching and proxying behavior.
You can remove artifacts from a remote repository cache but you cannot actually deploy a new artifact into a remote repository.
Artifacts in a remote repository can be accessed directly using the following URL:
This URL will fetch a remote artifact to the cache if it has not yet been stored.
In some cases it is useful to directly access artifacts that are already stored in the cache (for example to avoid remote update checks). Use the following URL to directly access artifacts that are already stored in the cache:
Proxy vs. Mirror
A remote repository acts as a proxy not as a mirror. Artifacts are not pre-fetched to a remote repository cache. They are only fetched and stored on demand when requested by a client.
Therefore, a remote repository should not contain any artifacts in its cache immediately after creation. Artifacts will only be fetched to the cache once clients start working with the remote repository and issuing requests.
For full details on configuring remote repositories please refer to the Remote Repositories page.
A virtual repository (or "repository group") aggregates several repositories with the same package type under a common URL.
Generic Virtual Repositories
By their nature, Virtual Repositories whose package type has been specified as Generic can aggregate repositories of any type, however, generic virtual repositories do not maintain any metadata.
Virtual Resolution Order
When an artifact is requested from a virtual repository, the order in which repositories are searched or resolved is local repositories first, then remote repository caches, and finally remote repositories themselves.
Within each of these, the order by which repositories are queried is determined by the order in which they are listed in the configuration as described in General Resolution Order below.
For a virtual repository, you can see the effective search and resolution order in the Included Repositories list view in the Basic settings tab. This is particularly helpful when nesting virtual repositories. For more details on configuring a virtual repository please refer to the Virtual Repositories page.
The Default Virtual Repository (Deprecated)
Artifactory offers an option to use a global virtual, which contains all local and remote repositories.
By default this option is disabled, to enable the Default Virtual Repository edit the
artifactory.system.properties file located at
$JFROG_HOME/artifactory/var/etc/artifactory and set the following flag to
## Disable the download access to the global 'repo' artifactory.repo.global.disabled=false
This change requires you to restart your Artifactory service.
Once enabled the repository is available at:
From JFrog Artifactory 7.18.3, the JFrog Platform enables you to create Federated repositories which allow the mirroring of artifacts and their metadata with other repositories of a Federated type located on remote JFrog Deployments (JPDs) in a multisite environment. The Federated repository functions similarly to a local repository on the JPD, but is grouped logically with other Federated members located on other JPDs to create a Federation. For more information, see Federated Repositories.
To manage repositories, go to Repositories under the Administration module.
You can also use the Quick Setup wizard, which enables you to create repositories for your selected package types in one go. With a couple of simple steps, you can create local, remote, and virtual repositories for each package type of your choosing. For more information, see Quick Repository Setup.