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.
Denise Yu 23dad7c279
Merge pull request #4779 from concourse/containerd-1
1 day ago
.github don't mark milestoned issues as stale 2 weeks ago
atc addressed review comments. 11/8/2019 1 week ago
cmd pull out workercmd from cmd/concourse 2 months ago
fly Merge pull request #4758 from witjem/4549-fixed-error-msg 4 days ago
go-concourse go-concourse: fix flaky tests 2 months ago
hack hack: add `vim` to dlv image 1 week ago
release-notes Add v5.5.5 release notes 1 week ago
screenshots add 2x scaled screenshot for hidpi laptops 1 year ago
skymarshal Merge pull request #4729 from concourse/fine-grain-cf-auth 1 week ago
testflight atc: initial testflight coverage for var_sources 1 week ago
topgun fix k8s topgun test charts path 4 days ago
tsa feat(log): Add --log-cluster-name option to enable including cluster name in log line. 2 months ago
vars ginkgo blur 2 months ago
web Avoid infinite loop in web ui when pipeline has loops 1 week ago
worker worker: Remove type casting in NewContainer call 1 day ago
.dockerignore flesh out 1 year ago
.env run watsjs/testflight against prebuilt Concourse 1 year ago
.gitignore ignore idea files 6 months ago move important docs to root 1 year ago fixing typo 1 month ago
Dockerfile dockerfile: fix unpacking of containerd binaries 5 days ago re-init 1 year ago say "Present" in 7 months ago Remove example dir 3 months ago
docker-compose.yml web: add cluster name to docker-compose.yml 7 months ago
go.mod worker: add Create, Containers, and Stop 1 day ago
go.sum worker: add runner that brings `containerd` up 6 days ago
package.json web: upgrade dependencies 4 weeks ago
tools.go Add tools.go to keep track of tool versions 7 months ago
versions.go concourse/#3819 using zstd to streamIn/Out between workers 4 months ago
yarn.lock web: upgrade dependencies 4 weeks 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.