Versioned Resources
A resource is anything with versions — a Git repo, a Docker image, a time trigger, an S3 bucket — and every job consumes and produces specific versions of them rather than operating on mutable, in-place state.
Thinking in terms of “what version of this resource triggered this job” rather than “what’s the current state of the workspace” tends to produce more reproducible pipelines, even outside Concourse — it’s a good default to bring back to whatever CI system is actually in daily use.
Related