You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
aoldershaw 5d47620249
Merge pull request #5397 from pnsantos/master
1 day ago
.github oh; 'about', not 'description' 2 days ago
atc atc: fix error in container gc down migration 4 days ago
cmd cmd/init: add missing library 1 month ago
fly Merge pull request #5329 from concourse/issue/5314 4 days ago
go-concourse go-concourse: Reduce overall diff of PR 1 month ago
hack web: convert mdi-icons script to module 1 month ago
release-notes web: behaviour: bump @mdi/svg 4.5.95 -> 5.0.45 1 day ago
screenshots add 2x scaled screenshot for hidpi laptops 1 year ago
skymarshal skymarshal: use escaped path for redirect URI 2 weeks ago
testflight testflight: lowercase check timeout err msg 1 month ago
topgun Merge pull request #5237 from concourse/contributing-topgun 2 weeks ago
tracing add tracing package 2 months ago
tsa Merge pull request #3936 from cycloidio/gl_3551 2 months ago
vars vars: use go std err wrapping 1 month ago
web web: behaviour: bump @mdi/svg 4.5.95 -> 5.0.45 1 day ago
worker worker/integration: add README 1 week ago
.dockerignore flesh out 1 year ago
.env run watsjs/testflight against prebuilt Concourse 1 year ago
.gitignore web: add elm setup bundle to .gitignore 1 month ago move important docs to root 1 year ago Merge pull request #5237 from concourse/contributing-topgun 2 weeks ago
Dockerfile remove containerd dependencies from Dockerfile 3 weeks ago re-init 1 year ago say "Present" in 1 year ago update link to new helm chart location 2 months ago
docker-compose.yml docker-compose: bump db's shm_size 1 week ago
go.mod Bump 1 month ago
go.sum Bump 1 month ago
package.json web: behaviour: bump @mdi/svg 4.5.95 -> 5.0.45 1 day ago
tools.go Add tools.go to keep track of tool versions 1 year ago
versions.go concourse/#3819 using zstd to streamIn/Out between workers 9 months ago
webpack.config.js web: babel-ify javascript bundle 1 month ago
yarn.lock web: behaviour: bump @mdi/svg 4.5.95 -> 5.0.45 1 day ago

Concourse: the continuous thing-doer.

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.

booklit pipeline

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:

Quick Start

$ wget
$ docker-compose up
Creating docs_concourse-db_1 ... done
Creating docs_concourse_1    ... done

Concourse will be running at You can log in with the username/password as test/test.

Next, install fly by downloading it from the web UI and target your local Concourse as the test user:

$ fly -t ci login -c -u test -p test
logging in to team 'main'

target saved

Configuring a Pipeline

There is no GUI for configuring Concourse. Instead, pipelines are configured as declarative YAML files:

- name: booklit
  type: git
  source: {uri: ""}

- name: unit
  - 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 $target set-pipeline -p booklit -c booklit.yml

These pipeline files are self-contained, maximizing portability from one Concourse instance to the next.

Learn More


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.