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.
Concourse is distributed as a single concourse
binary, available on the Releases page.
If you want to just kick the tires, jump ahead to the Quick Start.
In addition to the concourse
binary, there are a few other supported formats.
Consult their GitHub repos for more information:
$ wget https://concourse-ci.org/docker-compose.yml
$ docker-compose up -d
Creating docs_concourse-db_1 ... done
Creating docs_concourse_1 ... done
Concourse will be running at localhost:8080. You can
log in with the username/password as test
/test
.
⚠️ If you are using an M-series mac, note that they are incompatible with thecontainerd
runtime until #1379 is resolved. After downloading the docker-compose file, change:
CONCOURSE_WORKER_RUNTIME: "containerd"
to
CONCOURSE_WORKER_RUNTIME: "houdini"
.
Next, install fly
by downloading it from the web UI and target your local
Concourse as the test
user:
$ fly -t ci login -c http://127.0.0.1:8080 -u test -p test
logging in to team 'main'
target saved
You can follow our Getting Started Tutorial to learn how to write Concourse pipelines.
There is no GUI for configuring Concourse. Instead, pipelines are configured as declarative YAML files:
resources:
- name: booklit
type: git
source: {uri: "https://github.com/vito/booklit"}
jobs:
- name: unit
plan:
- get: booklit
trigger: true
- task: test
file: booklit/ci/test.yml
Most operations are done via the accompanying fly
CLI. If you've got Concourse
installed, try saving the above example
as booklit.yml
, target your Concourse
instance, and then run:
fly -t ci set-pipeline -p booklit -c booklit.yml
These pipeline files are self-contained, maximizing portability from one Concourse instance to the next.
- The Official Site for documentation, reference material, and example pipelines.
- The Getting Started Tutorial to learn the basics of pipelines
- See Concourse in action with our own pipelines
- Hang around in the GitHub discussions or in Discord.
- See what we're working on the project board.
Our user base is basically everyone that develops software (and wants it to work).
It's a lot of work, and we need your help! If you're interested, check out our contributing docs.