An artifact repository stores build artifacts produced by continuous integration and makes them available for automated deployment to testing, staging, and production environments.
Build artifacts are the files created by the build process, such as distribution packages, WAR files, logs, and reports. Artifacts can either be stored in a repository on your CI server, or in an external location available to your CI server.
When you’re committing changes regularly, an automated CI/CD pipeline produces a considerable number of builds each day. The nature of the pipeline means many builds will deploy to the first few environments before an issue is identified, while a smaller number of builds will make it all the way to be released to live.
An artifact repository provides a central location to store those builds, and most expose an API to automatically deploy builds to the environments in your pipeline. As part of your pipeline logic, you can specify how long builds should be kept in the repository and conditions for removing artifacts to free up space.