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

Local, Remote and Virtual Repositories

Artifactory hosts two kinds of repositories:

  • Local 
  • Remote

Both local and remote repositories can be aggregated under virtual repositories to create controlled domains for artifacts resolution and search, as detailed in the following sections.

Managing Repositories

To access the Repositories settings of Artifactory, click on the Admin tab at the top of the viewing pane.  In the left pane of the screen select Configuration -> Repositories.  The Configure Repositories options are displayed.

Repositories can be created, deleted, edited, ordered and aggregated.

Local Repositories

Local repositories are physical, locally-managed repositories into which you can deploy artifacts.

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

Artifactory is deployed with a number of pre-configured local repositories for deploying internal and external releases, snapshots and plugins.

Remote Repositories

A remote repository 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 the following URL:

http://<host>:<port>/artifactory/<remote-repository-name>/<artifact-path>

or

http://<host>:<port>/artifactory/<remote-repository-name>-cache/<artifact-path> (the second URL only serves already-cached artifacts while the first one fetches a remote artifact in the cache, if it is not already stored).

Artifactory is deployed with preconfigured common remote repositories, which you can, of course, change.

Remote repository configuration can also be imported from another Artifactory instance. JFrog Public Repository contains an up-to-date standard list of remote repositories available on the net.

A remote repository acts as a proxy not as a mirror. Artifacts are not stored eagerly in remote repository caches, but are fetched and stored on demand when they are requested by a client.
Therefore, a remote repository should contain zero artifacts immediately after its creation.

Virtual Repositories

A virtual repository (or "repository group") aggregates several repositories under a common URL. The repository is virtual in that you can resolve and retrieve artifacts from it but you cannot deploy anything to it.

The Default Virtual Repository

By default, Artifactory uses a global virtual repository available at:

http://<host>:<port>/artifactory/repo

This repository contains all local and remote repositories.

Virtual Resolution Order

When requesting artifacts from a virtual repository, the search/resolution order 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 governed by the order local, remote and virtual repositories are listed in the configuration (see below).

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

General Resolution Order

Managing the global configuration order is performed under the Admin tab and then Configuration -> Repositories.

You can reorder each list of repositories (local, remote, virtual) using drag-and-drop or select with the up and down arrow buttons. When your order is complete, use the "Save" or "Reset" to cancel the reordering.
Repositories resolution is also affected by security privileges, include/exclude patterns and snapshots/releases handling policies.

 

  • No labels