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

相关文章
相关标签/搜索