Artifact Repositories

The artifact repository is one of the less heralded, but critical, components of a CICD system.

During development and builds, different types of artifacts are likely used to build and create packages. For example, packages are pulled from MavenCentral or a PyPi repository as dependencies. The output may be a container image. The Maven or Python packages could be pulled from their corresponding central repositories. The generated container image is published to a container registry, which may be hosted in-house or externally.

An alternative to using multiple artifact repository managers is to use one universal artifact repository. JFrog Artifactory and Sonatype Nexus are tools that support many types of packages like Debian, Python packages, Nodejs, container images, helm charts, etc. Google Cloud also now provides an artifact registry.

Here is a great reference for more information about package managers and binary repository managers.