Artifact Storage Calculator
Project artifact repository storage growth from build frequency and artifact size.
About Artifact Storage Calculator
Jenkins archives artifacts per build and, without a retention policy, storage grows unbounded at the daily rate of builds × average artifact size. Configuring 'discard old builds' to keep only the artifacts of the N most recent builds caps steady-state storage at that retention count multiplied by average artifact size, regardless of how many builds run per day — though a higher build rate means that fixed retention count covers a shorter calendar window.
Formula
storage = retentionBuilds × avgArtifactSize
- R
- Number of builds retained
- A
- Average artifact size in MB
- S
- Total artifact storage in MB
Worked example
With the default values below, Artifact Storage Calculator returns Total Artifact Storage of 4.395. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Builds per Dayaccepts 0–1,000,000 builds/day
- 40 builds/day
- Average Artifact Sizeaccepts 0–1,000,000 MB
- 150 MB
- Builds Retainedaccepts 0–1,000,000 builds
- 30 builds
Results
- Total Artifact Storage
- 4.395 GB
- Daily Storage Growth (Pre-Rotation)
- 6,000.0 MB
- Retention Window
- 0.75 days
Step by step
- 1Storage = builds retained × avg artifact size= 4500.0MB (4.39GB)
- 2Daily growth before rotation= 6000.0MB/day
- 3Retention window in days= 0.75 days
Assumptions and limits
- The result is derived only from the 3 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
- Figures are rounded for display to 3 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
Does Jenkins delete artifacts automatically?
Only if configured — the 'Discard Old Builds' job property (or `buildDiscarder` in pipeline syntax) can cap retention by build count and/or age; without it, archived artifacts accumulate indefinitely on the Jenkins controller or configured artifact storage.
Should artifacts be stored on the Jenkins controller or externally?
For any non-trivial scale, external artifact storage (S3, Artifactory, Nexus) is strongly preferred — keeping large binaries on the Jenkins controller's disk risks filling it and slowing down the controller for all jobs, not just the ones producing large artifacts.
How can I reduce artifact storage without losing traceability?
Archive only the essential outputs (final binaries/images, not intermediate build directories), compress before archiving, and retain full artifacts only for builds that were actually deployed while keeping lightweight metadata/logs for the rest.
