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.
Jamie Klassen b380f5c1ba
Merge pull request #4443 from concourse/fix-more-topgun-paths
8 hours ago
.github remove *'s from CODEOWNERS 1 month ago
atc Merge pull request #4429 from concourse/fix-lidar-logging 15 hours ago
cmd pull out workercmd from cmd/concourse 4 days ago
fly Merge pull request #4392 from niall-byrne/documentation_issue_4348 3 days ago
go-concourse Merge pull request #4202 from concourse/feature/3788-checks 1 week ago
hack package mdi svg icons 5 months ago
release-notes add release notes for set-team docs fix 17 hours ago
screenshots add 2x scaled screenshot for hidpi laptops 1 year ago
skymarshal Documentation: https://github.com/concourse/concourse/issues/4348 1 week ago
testflight fly,testflight: add --async and --shallow for check resource/type 3 weeks ago
topgun fix a bunch more topgun file paths 8 hours ago
tsa feat(log): Add --log-cluster-name option to enable including cluster name in log line. 6 days ago
vars feat: redacting secrets in build logs. 1 week ago
web Merge pull request #4314 from robwhitby/fly-login-link 5 days ago
worker pull out workercmd from cmd/concourse 4 days ago
.dockerignore flesh out CONTRIBUTING.md 11 months ago
.env run watsjs/testflight against prebuilt Concourse 11 months ago
.gitignore ignore idea files 4 months ago
CODE_OF_CONDUCT.md move important docs to root 10 months ago
CONTRIBUTING.md chore: removed /ci folder reference from CONTRIBUTING.md 6 days ago
Dockerfile ci: rework how we use Docker Compose in CI 6 months ago
LICENSE.md re-init 1 year ago
NOTICE.md say "Present" in NOTICE.md 5 months ago
README.md Remove example dir 1 month ago
docker-compose.yml web: add cluster name to docker-compose.yml 4 months ago
go.mod bump baggageclaim to fix overlay mounts 1 week ago
go.sum bump baggageclaim to fix overlay mounts 1 week ago
package.json update wats npm deps and revisit dev dependencies 1 month ago
tools.go Add tools.go to keep track of tool versions 5 months ago
versions.go concourse/#3819 using zstd to streamIn/Out between workers 2 months ago
yarn.lock update wats npm deps and revisit dev dependencies 1 month ago

README.md

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.

Installation

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 https://concourse-ci.org/docker-compose.yml
$ docker-compose up
Creating docs_concourse-db_1 ... done
Creating docs_concourse_1    ... done

Concourse will be running at 127.0.0.1:8080. 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 http://127.0.0.1:8080 -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:

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 $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

Contributing

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.