Concourse is an automation system written in Go. It is most commonly used for CI/CD, and is built to scale to any kind of automation pipeline, from simple to complex. Concourse is very opinionated about a few things: idempotency, immutability, declarative config, stateless workers, and reproducible builds.