Set up Artifactory to Use Azure Blob Storage

JFrog Installation & Setup Documentation

ft:sourceType
Paligo

Artifactory requires the use of Azure block blob storage, a storage system optimized for unstructured text and binary data. Block blobs are made up of blocks of data that can be managed individually, which is appropriate as an Artifactory filestore.

Before setting up an Artifactory for filestore, you must create an appropriate storage account on Azure.

To learn more, see Introduction to Microsoft Azure Blob Storage in the Microsoft Azure documentation.

First time installation or upgrade

Whether you are installing Artifactory for the first time, or are moving your filestore to Azure Blob Storage in the context of upgrading Artifactory, we recommend that you first do a standard installation of Artifactory using the default settings, or a standard upgrade using your current settings.

To move your Artifactory filestore to Azure Blob Storage, execute the following steps:

  1. Shut down Artifactory.

  2. Set your license

  3. Configure Artifactory to use Azure Blob Storage. To configure Artifactory to use Azure Blob Storage, you need to use the Azure Blob Storage binary provider described in Configuring the Filestore.

  4. Migrate your filestore to the cloud. For an Artifactory HA cluster running version 5.0 or 6.0, to migrate your filestore, see Migrating Data from NFS.

  5. Start up Artifactory

Configure Artifactory

Artifactory's filestore is configured through the binarystore.xml file. The binarystore.xml configuration file is located in the $JFROG_HOME/artifactory/var/etc/artifactory folder.

Direct (Eventual-less) versus Eventual Upload Mechanism

Migrating from eventual to direct?

If you are migrating from any eventual mechanism to the direct upload mechanism, make sure your eventual directory is empty or you could experience data loss.

The default Azure chain templates rely on an eventual upload mechanism, whereby an upload from a client is considered successful when the full binary has been uploaded to Artifactory. The direct upload mechanism serves as an alternative mechanism whereby an upload is not considered successful until it reaches Azure. There are advantages to both which we cover below.

Direct Upload Mechanism (Recommended)

The Direct Upload mechanism enables you to upload without the need to maintain persistent storage for the eventual directory. This mechanism may also allow for faster uploads, since there is less contention for disk IO, particularly when Artifactory is hosted on Azure.

Note

Azure supports direct uploads for both Cloud and self sosted environments, and direct downloads in self-hosted environments only.

  1. Client uploads an artifact to Artifactory.

  2. Artifactory receives and simultaneously uploads to Azure.

  3. Artifactory finishes uploading the binary to Azure.

    1. A database entry for the artifact is created.

    2. Artifactory returns 201 success to the client.

Eventual Upload Mechanism

If you are uploading on a system where the Azure upload speed is slow (for example, when Artifactory is hosted self-hosted), you may want to use the Eventual Upload mechanism. The Eventual Upload mechanism also allows you to upload when Azure is down or experiencing network issues.

  1. Client uploads an artifact to Artifactory.

  2. Artifactory receives the full upload.

    1. The binary is stored in an eventual directory on the local disk.

    2. A database entry for the artifact is created.

    3. Artifactory returns a 201 success message to the client.

  3. Artifactory uploads the binary to Azure.

  4. The binary is deleted from the eventual directory.