Concourse CI资源整合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Concourse CI资源整合相关的知识,希望对你有一定的参考价值。
vedio
the docs of beginner
concourse architechure
ATC-air traffic control
- ATC 是Concourse的心脏。运行着
web ui
和api
,是负责调度pipeline的,ATC调度的pipeline以及构建的日志存储在postgresql中 - [bosh]atc job: https://bosh.io/jobs/atc?source=github.com/concourse/concourse
TSA
- TSA
controls worker authentication within concourse,一个安全注册到concourse deployment中的方式,
运输安全管理局是工人安全注册的方式,以加入一个集合部署。它提供身份验证和传输加密(如果需要的话)。工作机器可以使用自定义命令ssh到TSA,以便注册或将流量转发给它们。一旦建立了SSH会话,TSA就会自动将有关该worker的信息输入到ATC的池中
这种方式提供的主要优点是为了让ATC能够到达worker不再需要通过互联网进行路由。他们通过TSA打开了一个反向隧道,当与ATC搭配使用时,它更容易被路由。这也允许更简单的设置和更好的安全性,就像在您必须公开您的Garden server或设置一些有趣的自定义的安全性时,如果工人和ATC不在同一个私有网络中
Support Command
https://concourse-ci.org/concepts.html#component-tsa
- register-worker
- forward-worker
Garden
container orchestration, 运行在worker中
BaggageClaim
volume management, 运行在worker中
Workers
container runtime & cache management
Database之postgresql
为ATC存储pipeline的数据以及构建的日志
[email protected]:~$ bosh -e 21v-bosh -d concourse vms
Deployment ‘concourse‘
Instance Process State AZ IPs VM CID VM Type Active
db/c22f8f4b-5bd2-4ba7-85d9-6992622bddb7 running z1 10.200.200.128 vm-cb642874-3b4f-4527-9431-a351e9eb5285 ci-db false
web/550952d1-33e0-40ff-bfcd-4044dfcb11ef running z1 10.200.200.55 vm-fd19caad-0c9f-4993-9447-c19cbb2217c4 2c_4g_40g false
worker/ad8d4a5a-0eec-427e-a57c-83b64a4083e3 running z1 10.200.200.129 vm-a8814904-c4f0-4e6c-9861-fa3680db080b 2c_4g_40g false
[email protected]:~$ bosh -e 21v-bosh -d concourse ssh db/c22f8f4b-5bd2-4ba7-85d9-6992622bddb7
db/c22f8f4b-5bd2-4ba7-85d9-6992622bddb7:~$ sudo su
db/c22f8f4b-5bd2-4ba7-85d9-6992622bddb7:~$ ps -ef | grep "/var/vcap/data/packages/postgres"
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
db/c22f8f4b-5bd2-4ba7-85d9-6992622bddb7:~# /var/vcap/data/packages/postgres-9.6.8/e5b7ef012252038c5338f7ef0771c51bb9ae9006/bin/psql -h localhost -U concourse atc
atc=> dt
Concourse Common Command
fly -t a login -n xuelong -c http://10.200.200.55:8080 # target到一个指定的term
fly targets
fly -t a builds #列出所有的build的任务
fly -t a watch -b $BUILD_ID # 查看指定build的过程
fly -t a sp -p basic-pipeline -c ./pipeline.yml # 设置一个pipleline
fly -t a e -c inputs_required.yml # 直接之前一个简单的job
fly -t a destroy-pipeline -p $PIPENAME # 删除一个指定的pipeline
fly -t a trigger-job -j $PIPENAME/$JOBNAME # 跟踪指定pipeline的指定job
fly -t a trigger-job -j basic-pipeline/job-hello-world -w # 运行pipeline的同时观察pipeline的输出
fly -t tutorial up -p $pipeline # 运行pipeline
fly -t tutorial sp -p parameters -c pipeline.yml -l credentials.yml #使用变量文件
fly -t tutorial sp -p parameters -c pipeline.yml -v cat-name=garfield -v dog-name=odie # 显示指定变量
Note
- 基础镜像包含所有的依赖
- input的resource要包含task script,以及知道怎么运行
- input的resource要包含应用程序的代码
Demo
online resource
- http://concourse.ci/flight-school.html
- http://concourse.ci
- https://github.com/starkandwayne/concourse-tutorial
- concourse tutorial: http://concoursetutorial.com
- concourse与其他CI/CD工具的阐述对比: https://blog.waterstrong.me/concourse-ci/
- concourse的版本管理是如何做的(vcs)
- 不一样的CI/CD工具: https://ithelp.ithome.com.tw/users/20065771/ironman/1020?page=1
以上是关于Concourse CI资源整合的主要内容,如果未能解决你的问题,请参考以下文章
Concourse:使用 semver 资源来控制从 s3 使用哪个工件