concourse

concourse是cloud foundry原生的集成CI工具,輕量、可視。html

 

pipeline三大核心概念linux

resource 版本化資源的抽象位置,例如repository。是job的輸入輸出git

job 決定了pipeline的每一步行爲,資源怎樣被處理並顯示,構建於plangithub

task 是執行的基本單元,表現爲在一個全新容器中運行的腳本或函數。task可複用web

 

pipeline用yaml文件將job和resource集中配置到一塊,build構建在容器中運行sql

架構圖api

組件緩存

1,ATC,在8080端口運行concourse web UI,規劃pipeline運行的vms服務器

2,TSA,一個自定義的ssh服務器,偵聽於2222端口,爲ATC和外部worker vms間通訊提供ssh tunnel,並每隔30秒心跳檢查workers架構

3,beacon,發送garden和baggageclaim的地址給ATC,爲ATC和worker間通訊聯繫TSA開啓ssh tunnel

worker運行兩種服務:garden和baggageclaim

4,garden,一個容器runtime,偵聽於7777端口,提供http api給ATC管理容器

5,baggageclaim,偵聽於7788端口,提供http api給ATC管理disk或掛在到容器的卷資源,提供緩存

6,postgresql,存儲worker VMs用到的構建配置、日誌和資源版本等pipeline信息

7,fly,用於配置pipeline,和ATC互動的CLI

concourse服務有一個web節點、一個worker節點和一個postgresql節點組成。

 

下載最新的發佈版本

https://concourse-ci.org/download.html

安裝CLI

wget https://github.com/concourse/concourse/releases/download/v5.1.0/fly-5.1.0-linux-amd64.tgz

tar zxvf fly-5.1.0-linux-amd64.tgz

mv fly /usr/local/bin

fly -v

 

fly -t tutorial e -c inputs_required.yml -i some-important-input=../task-hello-world

經常使用命令

新建pipeline

fly -t tutorial set-pipeline -p hello-world -c pipeline.yml

fly -t tutorial sp -c pipeline.yml -p hello-world

 

啓用pipeline

fly -t tutorial up -p hello-world

 

查看job輸出

fly -t tutorial watch -j hello-world/job-hello-world

 

查看builds

fly -t turorial builds

 

觸發job

fly -t tutorial trigger-job -j hello-world/job-hello-world

 

刪除pipeline

fly -t tutorial destroy-pipeline -p hello-world

 

更新pipeline配置文件

fly -t tutorial sp -p simple-app -c pipeline.yml

 

帶參數pipeline

fly -t tutorial sp -p parameters -c pipeline.yml -v cat-name=garfield -v dog-name=odie

 

pipeline讀取參數文件 -l

fly -t tutorial sp -p parameters -c pipeline.yml -l credentials.yml

 

pipeline相關詳解

https://concourse-ci.org/managing-pipelines.html

相關文章
相關標籤/搜索