Remote Repositories

JFrog Artifactory Documentation

ft:sourceType
Paligo

Overview

To configure a remote repository, in the Administrator module, go to Repositories | Repositories select the Remote tab, click Add Repository and select Remote Repository.

Common Basic Settings

The following are fully described in the Common Settings page.

  • Package Type

  • Repository Key

  • Public Description

  • Internal Notes

  • Includes and Excludes Pattern

Additional Basic Settings

Field

Description

URL

The URL for the remote repository. Currently only HTTP and HTTPS URLs are supported.

Offline

If set, this repository will be considered offline and no attempts will be made to fetch artifacts from it.

For more details, please refer to Single Repository Offline below.

Type-Specific Basic Settings

Repositories may have additional Basic settings depending on the Package Type.

Maven, Gradle, Ivy and SBT Repositories
maven-remote-repo-settings.png

Field

Description

Checksum Policy

Checking the Checksum effectively verifies the integrity of a deployed resource. The Checksum Policy determines how the system behaves when a client checksum for a remote resource is missing or conflicts with the locally calculated checksum.

There are four options:

  • Generate if absent (default): The system attempts to retrieve the remote checksum, If it is not found, the system will automatically generate one and fetch the artifact.

    If the remote checksum does not match the locally calculated checksum, the artifact will not be cached and the download will fail.

  • Fail: If the remote checksum does not match the locally calculated checksum, or is not found, the artifact will not be cached and the download will fail.

  • Ignore and generate: The system ignores the remote checksum and only uses the locally generated one. As a result, remote artifact retrieval never fails, however integrity of the retrieved artifact may be compromised.

  • Ignore and Pass-thru: The system stores and passes through all remote checksums (even if they do not match the locally generated one). If a remote checksum is not found, Artifactory generates one locally. As a result, remote resource retrieval never fails, however integrity of the retrieved artifact may be compromised, and client side checksum validation (as performed by Maven, for example) will fail.

Max Unique Snapshots

Specifies the maximum number of unique snapshots of the same artifact that should be stored. Once this number is reached and a new snapshot is uploaded, the oldest stored snapshot is removed automatically.

A value of 0 (default) indicates that there is no limit on the number of unique snapshots.

Eagerly Fetch Jars

When set, if a POM is requested, Artifactory attempts to fetch the corresponding jar in the background. This will accelerate first access time to the jar when it is subsequently requested.

Suppress POM Consistency

By default, the system keeps your repositories healthy by refusing POMs with incorrect coordinates (path). If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a "409 Conflict" error.

You can disable this behavior by setting the Suppress POM Consistency checkbox.

Eagerly Fetch Sources

When set, if a binaries jar is requested, Artifactory attempts to fetch the corresponding source jar in the background. This will accelerate first access time to the source jar when it is subsequently requested.

Handle Releases

If set, Artifactory allows you to deploy or cache release artifacts into this repository.

Handle Snapshots

If set, Artifactory allows you to deploy or cache snapshot artifacts into this repository.

Handling Offline Scenarios

The system supports offline repository management at two levels:

  • Single Repository: One or more specific remote repositories need to be offline.

  • Global: The whole organization is disconnected from remote repositories

Single Repository Offline

If a remote repository goes offline for any reason, the system can be configured to ignore it by setting the Offlinecheckbox. In this case, only artifacts from this repository that are already present in the cache are used. No further attempt will be made to fetch remote artifacts.

Global Offline Mode

This is common in organizations that require a separate, secured network and are disconnected from the rest of the world (for example, military or financial institutions) .

In this case, remote repositories serve as caches only and do not proxy remote artifacts.

You can enable Global Offline Mode by setting the corresponding checkbox in the Administration module under Artifactory | Settings.

artifactory_general_settings.jpg

Browsing Remote Repositories

In some cases, the remote resource that Artifactory proxy's supports remote browsing. In these cases, you can browse the contents of these repositories directly from the UI.

For example, JCenter and Maven Central support remote repository browsing, however, Docker Hub does not. In the example below, the contents of JCenter are displayed.

JCenter in Artifact Browser.png