Repository Replication

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

Overview

The Replication add-on provide a way to synchronize content+properties from one repository to another repository in a remote Artifactory instance.
Two types of replication are supported:

Push Replication

Where a local repository can push content to another local repository on a remote Artifactory.
This is ideal for situations where you can only make an outgoing connection to the remote server, such as when pushing artifacts to a cloud instance.

Pull Replication

Where a remote repository can pull content from another repository (local, remote or virtual) on a remote Artifactory.
This provides a convenient way to proactively populate a remote cache, and is very useful where waiting for new artifacts to arrive on demand (when first requested) is not desirable due to netwrok latency.

 

It is highly recommended to perform the replication between servers with same Artifactory versions.

Replication Scheduling and Configuration

Replication is configured via the UI as a scheduled task on local and remote repositories for push and pull, respectively.
To configure a replication task, enter the configuration of the local\remote repository you wish to replicate (Admin->Configuration->Repositories) and select the Replication tab.

Pull replication is also exposed via the Artifactory REST API, with support for REST-enabled push replication coming soon.

Pull and push replications are smart. Only diffs are synched and the replication plan is checksum aware.
All replication messages are directed to Artifactory's standard log file (artifactory.log).

General Configuration

  • Cron Expression - Defines the replication task schedule using the cron syntax
  • Sync Deletes - Check if items that were deleted remotely should be deleted locally too (also applies to properties metadata)
  • Sync Properties - Check if the task should synchronize the properties of synched items
  • Socket Timeout - The network timeout in milliseconds to use for remote operations
  • Path Prefix (optional) - A subpath to replicate within the repository

Push Replication Local Repository Configuration

  • URL - The target local repository URL
  • Username - The username to authenticate with
  • Password (optional) - The password to authenticate with
  • Proxy (optional) - A proxy configuration to use when communicating with the remote instance

Pull Replication Remote Repository Configuration

Regarding credentials of the remote repository configuration

The remote repository's file listing for replication is retrieved using the repository's credentials defined under the repository's Advanced configuration section.
The remote files retrieved depend on the effective permissions of the configured user on the remote repository (on the other Artifactory instance).

Watch the Screencast

To see the Replication in action you can watch the short demo screencast below.

Labels:
  1. Feb 20, 2012

    I'd like to be notified if replication fails. Is this possible please?

  2. Feb 21, 2012

    Hi Chris,
    This is a nice feature request and it belongs on our public JIRA,
    Please feel free to open a ticket.
    10x

    1. Feb 21, 2012

      Thanks Eli - I've raised the request. Please feel free to delete my comments