https://github.com/concourse/concourse
Concourse is a container-based continuous thing-doer written in Go.
https://github.com/concourse/concourse
ci ci-cd concourse continuous-delivery continuous-integration elm go hacktoberfest pipelines
Last synced: 7 days ago
JSON representation
Concourse is a container-based continuous thing-doer written in Go.
- Host: GitHub
- URL: https://github.com/concourse/concourse
- Owner: concourse
- License: apache-2.0
- Created: 2014-04-19T20:45:45.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T13:24:10.000Z (6 months ago)
- Last Synced: 2024-10-29T16:03:59.607Z (6 months ago)
- Topics: ci, ci-cd, concourse, continuous-delivery, continuous-integration, elm, go, hacktoberfest, pipelines
- Language: Go
- Homepage: https://concourse-ci.org
- Size: 172 MB
- Stars: 7,412
- Watchers: 147
- Forks: 847
- Open Issues: 827
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
- Support: .github/SUPPORT.md
Awesome Lists containing this project
- stars - concourse/concourse - based automation system written in Go. (HarmonyOS / Windows Manager)
- awesome - concourse - Concourse is a container-based continuous thing-doer written in Go and Elm. (Go)
- awesome-starred - concourse/concourse - Concourse is a container-based continuous thing-doer written in Go. (go)
- awesome-ccamel - concourse/concourse - Concourse is a container-based automation system written in Go. (Go)
- awesome-repositories - concourse/concourse - Concourse is a container-based continuous thing-doer written in Go. (Go)
- awesome-list - concourse - based continuous thing-doer written in Go. | concourse | 5831 | (Go)
- awesome-golang-repositories - concourse - based continuous thing-doer written in Go. (Repositories)
- starred-awesome - concourse - BOSH release and development workspace for Concourse (Shell)
- awesome-ops - concourse/concourse - 2.0|7527|2014-04-19|2025-04-03 | Concourse 是一个用 Go 编写的基于容器的自动化系统。它最常用于 CI/CD,并且可以扩展到从简单到复杂的任何类型的自动化管道。 | (CICD)
README
# Concourse
[][discord]
[](https://ci.concourse-ci.org/teams/main/pipelines/concourse)
[](https://github.com/concourse/concourse/graphs/contributors)
[](https://github.com/concourse/concourse/labels/help%20wanted)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](https://github.com/concourse/concourse/releases/latest).
If you want to just kick the tires, jump ahead to the [Quick Start](#quick-start).
In addition to the `concourse` binary, there are a few other supported formats.
Consult their GitHub repos for more information:* [Docker image](https://github.com/concourse/concourse-docker)
* [BOSH release](https://github.com/concourse/concourse-bosh-release)
* [Kubernetes Helm chart](https://github.com/concourse/concourse-chart)## Quick Start
```sh
$ 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](http://localhost:8080). You can
log in with the username/password as `test`/`test`.> :warning: **If you are using an M-series mac**, note that they are
> incompatible with the `containerd` runtime until
> [#1379](https://github.com/concourse/concourse/issues/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:```sh
$ 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](https://concourse-ci.org/getting-started.html)
to learn how to write Concourse pipelines.### Configuring a Pipeline
Concourse has no GUI for configuration. Instead, pipelines are defined in
declarative YAML files:```yaml
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](https://concourse-ci.org/install.html), try saving the above example
as `booklit.yml`, [target your Concourse
instance](https://concourse-ci.org/fly.html#fly-login), and then run:```sh
fly -t ci set-pipeline -p booklit -c booklit.yml
```These pipeline files are self-contained, making them easily portable between
Concourse instances.### Learn More
* The [Official Site](https://concourse-ci.org) for documentation,
reference material, and example pipelines.
* The [Getting Started Tutorial](https://concourse-ci.org/getting-started.html)
to learn the basics of pipelines
* See Concourse in action with our [own pipelines](https://ci.concourse-ci.org/)
* Hang around in the [GitHub discussions](https://github.com/concourse/concourse/discussions) or in
[Discord][discord]
* See what we're working on the [project board](https://github.com/orgs/concourse/projects).## 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](CONTRIBUTING.md).[discord]: https://discord.gg/MeRxXKW