Concourse

Concourse 是一个用 Go 和 Elm 编写的基于容器的持续集成专家。(Concourse is a container-based continuous thing-doer written in Go and Elm.)

Github星跟踪图

Concourse: the continuous thing-doer(大厅:持续集成专家)

Concourse 是一个用 Go 编写的自动化系统。 它最常用于 CI/CD,可以扩展到任何类型的自动化管道,从简单到复杂。

Concourse 对一些事情非常自以为是:幂等性,不变性,声明性配置,无状态工作者和可重现的构建。

安装

Concourse 是作为单个 concourse 二进制文件分发的,可在“下载”页面上获得。

如果您想仔细了解,请跳到快速启动

除了 concourse 二进制文件之外,还有一些其他支持的格式。 有关更多信息,请参阅他们的 GitHub 存储库:

快速启动

Concourse 将在 127.0.0.1:8080 运行。 您可以使用 test/test 作为用户名/密码登录。

接下来,通过从 Web UI 下载并安装 fly 作为测试用户来定位您当地的Concourse:

$ fly -t ci login -c http://127.0.0.1:8080 -u test -p test
logging in to team 'main'

target saved

配置管道

没有用于配置 Concourse 的 GUI。 而是将管道配置为声明性 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

大多数操作都是通过随附的 fly CLI 完成的。 如果您已安装 Concourse,请尝试将上述示例保存为 booklit.yml,定位您的 Concourse 实例,然后运行:

fly -t $target set-pipeline -p booklit -c booklit.yml

这些管道文件是自包含的,最大化了从一个 Concourse 实例到下一个 Concourse 实例的可移植性。

学到更多

主要指标

概览
名称与所有者concourse/concourse
主编程语言Go
编程语言Makefile (语言数: 13)
平台Docker, Linux, Mac, Windows
许可证Apache License 2.0
所有者活动
创建于2014-04-19 20:45:45
推送于2025-04-22 12:35:08
最后一次提交2025-04-11 09:04:37
发布数381
最新版本名称v7.13.1 (发布于 )
第一版名称v0.1.0-rc.1 (发布于 )
用户参与
星数7.5k
关注者数147
派生数856
提交数27.1k
已启用问题?
问题数5001
打开的问题数93
拉请求数2725
打开的拉请求数44
关闭的拉请求数484
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?

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.