The local Conda repository in Artifactory gives you the flexibility of deploying your packages in a layout of your choice. When deploying Conda binaries into nested paths, it is important to ensure that the channel URL inside your .condarc
file correctly reflects the path of the packages. The Conda client automatically appends the host machine platform as a subdirectory in the channel URL. When you deploy these packages, you need to meet this requirement and upload your packages into the relevant subdirectories. For example, consider the following valid package path in Artifactory:
conda-local/osx-64/my-conda-package.tar.bz2
Based on this layout, the corresponding channel URL in your .condarc
file is:
<YOUR_SERVER_URL>/artifactory/api/conda/conda-local
In the above example, Conda will be appending the platform automatically (i.e osx-64
).
Another example shows a more detailed deployment path such as:
conda-local/my/own/layout/osx-64/my-conda-package.tar.bz2
In this example, the channel URL should be set as follows:
<YOUR_SERVER_URL>/artifactory/api/conda/conda-local/my/own/layout
Best Practice for Scaling Up
The Conda repository metadata is maintained on the package level, meaning that the parent directory of a Conda package is also the parent of the Conda repodata.json
metadata file. To scale with maximum efficiency, refrain from deploying large amounts of packages into a single parent directory when possible. To enable Artifactory metadata calculation processes to provide maximal performance, try to plan your local repository layouts in a way that supports modularity by avoiding directories with large amounts of artifacts as their direct children.