ef73d0830c
this breaks downgrade tests; the worker can't unregister in time, since
the web node just goes away immediately, and workers give up when all
web nodes are unreachable, assuming the cluster is being destroyed.
as a result, the check container ends up sticking around on a stalled
worker, and the check eventually times out. a better solution might be
to have checking not attempt to use a container that's on a stalled
worker, but let's not block the pipeline on that in the meantime.
This reverts commit
|
||
---|---|---|
.github | ||
atc | ||
cmd | ||
fly | ||
go-concourse | ||
hack | ||
release-notes | ||
screenshots | ||
skymarshal | ||
testflight | ||
topgun | ||
tracing | ||
tsa | ||
vars | ||
web | ||
worker | ||
.dockerignore | ||
.env | ||
.gitignore | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
Dockerfile | ||
LICENSE.md | ||
NOTICE.md | ||
README.md | ||
docker-compose.yml | ||
go.mod | ||
go.sum | ||
package.json | ||
tools.go | ||
versions.go | ||
webpack.config.js | ||
yarn.lock |
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.
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 ci set-pipeline -p booklit -c booklit.yml
These pipeline files are self-contained, maximizing portability from one Concourse instance to the next.
Learn More
- The Official Site for documentation, reference material, and example pipelines (which no longer live in this repository).
- The Concourse Tutorial by Stark & Wayne is great for a guided introduction to all the core concepts.
- See Concourse in action with our production pipelines
- Hang around in the forums or in Discord.
- See what we're working on on the project board.
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.