What is an artifact repository?

Mohamad Masarwa
2019-04-22 16:24

Description

An artifact repository manages your end-to-end artifact lifecycle and supports different software package management systems while providing consistency to your CI/CD workflow. An artifact repository is both a source for artifacts needed for a build, and a target to deploy artifacts generated in the build process.
The DevOps artifact repository is crucial for the software development process. Multiple developers from different sites use artifacts and 3rd party components from different sources, causing testing problems to arise and thus slowing down your release process. Add to all the above, the complexity of handling dozens of different types of technologies and your software development process will be brought to a halt.

JFrog Artifactory’s universal artifact repository manager supports all the major package formats (20+ languages including Go, and Helm) and is also integrated with all major build tools and CI servers currently available.

There are three repository types:

  • Local –  a physical, locally-managed repository into which you can deploy artifacts.

  • Remote – a caching proxy for a repository managed at a remote URL. Artifacts are stored and updated in remote repositories according to various configuration parameters that control the caching and proxying behavior. You can remove artifacts from a remote repository cache but you cannot actually deploy a new artifact into a remote repository.

  • Virtual – an aggregated repository (that combines the local and remote repositories) under a common URL, used to create controlled domains for search and resolution of artifacts.

Using Artifactory as the artifact repository allows you to:
 

Build Integration with fully traceable builds

Deploy your build artifacts through your CI Server together with exhaustive build environment information captured during deployment to enable fully reproducible builds.
 

Search for Artifacts

Search in Artifactory provides true real-time results that always reflect the current state of the repository allowing you to perform a quick search according to the artifact file name, package format, artifacts within archives, or based on names and values of properties assigned to them.
 

Manipulate Artifacts

Artifactory allows you to move, copy and deletion of artifacts to keep your repositories consistent and coherent. When an artifact is moved, copied or deleted, Artifactory immediately and automatically updates the corresponding metadata descriptors (such as maven-metadata.xml, RubyGems, Npm and more) to reflect the change and keep your repositories consistent with the package clients.