A resource is any entity that can be checked for new versions, pulled down at a specific version, and/or pushed up to idempotently create new versions. A common example would be a git repository, but it can also represent more abstract things like time itself.
At its core, Concourse knows nothing about things like git
. Instead,
it consumes a generic interface implemented by resource types. This
allows Concourse to be extended by configuring workers with resource type
implementations.
This abstraction is immensely powerful, as it does not limit Concourse to whatever things its authors thought to integrate with. Instead, as a user of Concourse you can just reuse resource type implementations, or implement your own.
To use resources, configure them in your pipeline via the
resources
section, and use them in
your Build Plans via the get
and
put
steps.