Pull Replication

JFrog Artifactory Documentation

JFrog Artifactory
Content Type
User Guide

This provides a convenient way to proactively populate a remote cache, and is very useful when waiting for new artifacts to arrive on demand (when first requested) is not desirable due to network latency.

There are two ways to invoke a pull replication:

  • Scheduled pull: Pull replication is invoked by a remote repository, and runs asynchronously according to a defined schedule to synchronize repositories (local, remote or virtual) at regular intervals.

  • Event-based pull: Requires an Enterprise License.

    Pulls occur nearly in real-time since each create, copy, move or delete of an artifact is immediately propagated to the far end. As soon as a file is uploaded it is replicated and immediately available to the target (pulling) instance without even having to wait for the file upload to be completed at the source

Advantages of Pull Replication

  • Many target servers can pull from the same source server efficiently implementing a one-to-many replication.

  • It is safer since each package only has one "hop".

  • It reduces traffic on target servers since they do not have to pass on artifacts in a replication chain.

When and when not to use Pull Replication

Pull replication is recommended in the following cases:

  • When you need to replicate a repository to many targets.

  • When your source repository is located behind a proxy that prevents push replication (e.g. replicating a repository hosted on Artifactory SaaS to a local repository at your site)

Pull replication cannot be used to replicate a remote resource that is not an Artifactory repository. Artifacts from third party repositories can only be cached on-demand in the normal cache and proxy behavior of a Remote Repository