Overview
Artifacts are the deployable units of software (e.g., Docker images, npm packages, binaries). Artifact management ensures that these files are stored securely, are easily retrievable, and their provenance is tracked.
Key Concepts
- Immutability: Once an artifact is created and versioned, it should never be changed.
- Versioning: Using Semantic Versioning (SemVer) to track changes.
- Retention Policies: Automatically cleaning up old or unused artifacts to save space.
- Security Scanning: Checking artifacts for known vulnerabilities before deployment.
Benefits
- Traceability: Knowing exactly which source code produced a specific binary.
- Efficiency: Avoiding the need to rebuild the same code multiple times.
- Consistency: Ensuring the same artifact is used across all environments.