Artifact Management
Artifact management is the practice of storing, versioning, and distributing the build outputs that flow through a software delivery pipeline: container images, packages, libraries, and binaries. A managed artifact repository provides traceability from source commit to deployed artifact.
itDevOps and software delivery | OpenSkills.info
Intro
Artifact Management
An artifact is a file or structured object produced or selected for use beyond the process that created it: a library package, container image, operating-system package, firmware bundle, chart, model, archive, checksum, signature, software bill of materials, or provenance statement. Artifact management is the discipline of giving those objects durable identity, controlled storage, trustworthy metadata, and an explicit lifecycle from creation to retirement.
The useful mental model is a custody system for deployable evidence. Source control records what people intended to build. A build system turns declared inputs into outputs. An artifact repository records the exact outputs that testing, release, and deployment systems consume. If deployment silently rebuilds from source, the tested object and the released object may differ. Promotion should therefore move or relabel an existing immutable object, not manufacture a fresh approximation of it.
Why artifact management exists
Build outputs otherwise scatter across developer machines, CI workspaces, generic file shares, and temporary job storage. Names collide, dependencies disappear, retention becomes accidental, and nobody can answer the release questions that matter:
- Which exact bytes are running?
- Which source, dependencies, tools, and parameters produced them?
- Which checks did this object pass?
- Who may publish, promote, download, or delete it?
- Can the object be recovered or reproduced after the original build environment is gone?
An artifact repository supplies a stable protocol and metadata model for those answers. Maven distinguishes a local repository, which caches downloads and holds unreleased outputs, from remote repositories used to share public or private releases. Modern registry services add standard repositories for owned artifacts, remote repositories that cache upstream content, and virtual repositories that provide a single policy-controlled read endpoint over several sources.
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://maven.apache.org/guides/introduction/introduction-to-repositories.html
Supports
- Artifact repositories as stores for build outputs
- Local repositories as caches and remote repositories for public or private sharing
- https://cloud.google.com/artifact-registry/docs/repositories
Supports
- Standard, remote, and virtual repository modes
- Upstream caching, consolidated resolution, access control, and dependency-confusion mitigation through priority
- Repository cleanup, protection, observability, and deployment integration concerns
- https://github.com/opencontainers/distribution-spec/blob/main/spec.md
Supports
- Registry pull, push, discovery, and lifecycle categories
- Manifest and blob retrieval, tag and digest references, digest verification, and deduplication
- Reference relationships that make cleanup and exact identity significant
- https://docs.github.com/en/packages/learn-github-packages/introduction-to-github-packages
Supports
- Package visibility and access-control models
- Links among artifacts, source, build details, deployment history, compliance, and security metadata
- https://slsa.dev/spec/v1.2/build-requirements
Supports
- Consistent build processes and build-platform selection
- Provenance-capable builders and metadata about source and build parameters
- Access control, secure communications, secret handling, and platform security expectations
- https://opencontainers.org/posts/blog/2024-03-13-image-and-distribution-1-1/
Supports
- Subject and artifactType fields for related artifacts
- Referrers API discovery for attached artifacts such as signatures and attestations
