Artifact Repository Managers


Intro

This document contains information about artifacts or binary repository managers.  These tools centralize all of the binary outputs used in a build, adding valuable metadata that can help manage those objects properly.

An artifact repository is similar to a source code version control system in that it versions binary files and attaches metadata to the files.  Rather than checking in binaries into your source repo or putting them on a file share, you should be keeping track of these artifacts via a repository designed just for that task.  They are optimized for keeping large files, such as ISOs and VM images.

In addition, artifact repositories can avoid duplication of files using hashing technologies so even if a file is uploaded with different names, the repository software will detect that they are identical and only store one version, thus saving you storage.  Because of this, you can copy files from one repository (eg daily builds) to another (eg released builds) and as long as it is in the same artifact instance, it won't take any more space.  Why do this?  For applying different retention policies..you will want to purge artifacts from a daily build repository but keep indefinitely those from a release build repository.




Popular Artifact Managers


The following universal packages are listed in Wikipedia as most popular.  I'm quite familiar with Artifactory through my work experience.



A really good feature comparison can be found here:  http://binary-repositories-comparison.github.io/



Issues To Know


JFrog, the maker of Artifactory, has found that as DevOps teams scale up to thousands of developers in multiple teams leveraging multiple datacenters around the world, these issues will have to be addressed:


  • Maintaining a clear real-time inventory of binary artifact repositories;
  • Managing binary artifact workflows among multiple global teams;
  • Locking down security, user entitlement, permissions and provisioning policies;
  • Ensuring highly reliable storage of and access to artifacts.


References