Skip to end of metadata
Go to start of metadata
Table of Contents

Note: This space is for Artifactory 2.0.
Take me to the latest version!

Local, Remote and Virtual Repositories

Artifactory hosts two kinds of repositories: local and remote. Both local and remote repositories can be aggregated under virtual repositories, in order to create controlled domains for artifacts resolution and search, as we will see in the next sections.

Managing Repositories

Repositories can be created, deleted and edited and aggregated using the administration UI: Admin:Configuration:Repositories

Local Repositories

Local repositories are physical locally-managed repositories that one can deploy artifacts into.

Artifacts under a local repository are directly accessible via a URL pattern of
http://<host>:<port>/artifactory/<local-repository-name>/<artifact-path>

Artifactory comes with a couple of pre-configured local repositories for deploying internal and external releases, snapshots and plugins.

Remote Repositories

A remote repositories serves as a caching proxy for a repository managed at a remote URL (including other Artifactory remote repository URLs). Artifacts are stored and updated in remote repositories according to various configuration parameters that control the caching and proxying behavior. You can remove cached artifacts from remote repository caches but you cannot manually deploy anything into a remote repository.

Artifacts under a remote repository are directly accessible via a URL pattern of
http://<host>:<port>/artifactory/<remote-repository-name>/<artifact-path>
or
http://<host>:<port>/artifactory/<remote-repository-name>-cache/<artifact-path> (the second URL will only serve already cached artifacts while the first one will fetch a remote artifact int the cache if it is not already stored).

Artifactory comes with a couple of pre-configured common remote repositories, which you can, of course, change.

A remote repository acts as a proxy not as a mirror. Artifacts are note stored eagerly in remote repository caches, but are fetched and stored on demand when they are requested by a client.
It therefore makes perfect sense for a remote repository to contain zero artifacts immediately after its creation.

Virtual Repositories

A virtual repository (or "repository group", if you prefer this term) aggregates several repositories under a common URL. The repository is virtual in the sense that you can resolve and get artifacts from it but you cannot deploy anything to it.

The Default Virtual Repository

By default, Artifactory uses a global virtual repository that is available at
http://<host>:<port>/artifactory/repo
This repository contains all local and remote repositories.

Resolution Order

The search/resolution order when requesting artifacts from a virtual repository is always: local repositories, remote repository caches and finally remote repositories themselves. The order by which repositories of the same type (local, cache and remote) are queried is by governed by the order local, remote repositories and other virtual repositories are listed in the virtual repository configuration.

Artifactory's virtual repository configuration includes a "Resolved Repositories" list view that shows the effective repositories order per virtual repository. This is particularly helpful when nesting virtual repositories.

Repositories resolution if also affected by security privileges, include/exclude patterns and snapshots/releases handling policies.

  • No labels